码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Servlet基础详细版


          在了解Servlet之前,我们需要先了解一下Tomcat 

    z(113条消息) Tomcat服务器的使用_我爱布朗熊的博客-CSDN博客https://blog.csdn.net/weixin_51351637/article/details/126110360?spm=1001.2014.3001.5502

    目录

    一、了解Servlet

    二、手动实现Servlet程序

    1. 创建工程 

    2.步骤及程序

    3.URL地址到Servlet程序的访问(怎么访问到的程序)

     4.Servlet的生命周期


    一、了解Servlet

    1.Servlet是JavaEE规范之一,规范就是接口

    2.Servlet是JavaWeb三大组件之一(三大组件分别是:Servlet程序、Filter过滤器、Listener监听器)

    3.Servlet是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

    二、手动实现Servlet程序

    1. 创建工程 

    2.步骤及程序

    ①编写一个类去实现Servlet接口

    ②实现service方法处理请求,并响应数据

    ③到web.xml中去配置Servlet程序的访问地址

    程序

    1. package com.company.web_tomcat;
    2. import javax.servlet.*;
    3. import java.io.IOException;
    4. public class HelloServlet2 implements Servlet {
    5. @Override
    6. public void init(ServletConfig servletConfig) throws ServletException {
    7. }
    8. @Override
    9. public ServletConfig getServletConfig() {
    10. return null;
    11. }
    12. /**
    13. * service方法专门用来处理请求和响应的
    14. * @param servletRequest
    15. * @param servletResponse
    16. * @throws ServletException
    17. * @throws IOException
    18. */
    19. @Override
    20. public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    21. System.out.println("hello servlet");
    22. }
    23. @Override
    24. public String getServletInfo() {
    25. return null;
    26. }
    27. @Override
    28. public void destroy() {
    29. }
    30. }
    1. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    4. version="4.0">
    5. <servlet>
    6. <servlet-name>HelloServlet2servlet-name>
    7. <servlet-class>com.company.web_tomcat.HelloServlet2servlet-class>
    8. servlet>
    9. <servlet-mapping>
    10. <servlet-name>HelloServlet2servlet-name>
    11. <url-pattern>/hellourl-pattern>
    12. servlet-mapping>
    13. web-app>

    下图中蓝色区域“Application context”就是工程路径(可以自行修改)

    最终运行成功后,会弹出一个页面,如下图所示(下面访问的是工程路径结尾)

    中国礼品鲜花网Java版
    application/x-rar 0星 超过10%的资源 2.11MB
    下载

     至于为什么会弹出上图,原因就是我们在index.jsp中编写的内容

    1. <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    2. html>
    3. <html>
    4. <head>
    5. <title>JSP - Hello Worldtitle>
    6. head>
    7. <body>
    8. <h1><%= "Hello World!" %>h1>
    9. <br/>
    10. <a href="hello-servlet">Hello Servleta>
    11. body>
    12. html>

    http://localhost:8080/web_Tomcat_war_exploded/  我们在此路径后面添加hello会发生下图现象

    即访问 http://localhost:8080/web_Tomcat_war_exploded/hello

    控制台输出了“hello servlet” (此原因就是在上面web.xml中配置的,可在上面仔细阅读xml文件)

    3.URL地址到Servlet程序的访问(怎么访问到的程序)

      http://localhost:8080/web_Tomcat_war_exploded/hello

      为什么我们敲上面这个地址,就可以访问到我们的HelloServlet2程序呢? 

     4.Servlet的生命周期

        第一步:执行Servlet构造器方法

        第二步:执行init初始化方法

             第一二步是在第一次访问的时候创建Servlet程序会调用

         第三步:执行service方法(每次访问都会执行)

           

         第四步:执行destroy销毁方法(只有在web工程停止的时候才会执行)

    Java Servlet+JDBC的增删改查
    zip 0星 超过10%的资源 4.88MB
    下载

    1. package com.company.web_tomcat;
    2. import javax.servlet.*;
    3. import java.io.IOException;
    4. public class HelloServlet2 implements Servlet {
    5. public HelloServlet2() {
    6. System.out.println("1 构造器方法");
    7. }
    8. @Override
    9. public void init(ServletConfig servletConfig) throws ServletException {
    10. System.out.println("2 初始化方法");
    11. }
    12. @Override
    13. public ServletConfig getServletConfig() {
    14. return null;
    15. }
    16. /**
    17. * service方法专门用来处理请求和响应的
    18. * @param servletRequest
    19. * @param servletResponse
    20. * @throws ServletException
    21. * @throws IOException
    22. */
    23. @Override
    24. public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    25. System.out.println("3 service方法");
    26. }
    27. @Override
    28. public String getServletInfo() {
    29. return null;
    30. }
    31. @Override
    32. public void destroy() {
    33. System.out.println("4 销毁方法");
    34. }
    35. }

    执行web工程

    如果将页面一直刷新的话,会不断的执行service方法

     将程序停止

  • 相关阅读:
    Python中如何将列表中的所有项转换为float?(含代码讲解)
    [附源码]计算机毕业设计springboot-菜篮子系统
    跨域?如何解决?同源策略?
    量化程序化交易如何去使用以及执行?
    CentOS7安装VMware Tools
    Python学习第1天-安装Python
    Mysql数据库 4.SQL语言 DQL数据查询语言 查询
    【MySQL性能优化系列】百万数据limit分页优化
    Flink CDC MySQL同步MySQL错误记录
    Android 13 - Media框架(12)- MediaCodec(二)
  • 原文地址:https://blog.csdn.net/weixin_51351637/article/details/126110024
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号