Servlet的执行流程和生命周期

Servlet的执行流程

首先是浏览器地址:

http://IP+端口号/Servlet映射的名称

然后看一个web的xml文件

web.xml

<servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>cn.dl.servlet.LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/ms</url-pattern>
 </servlet-mapping>

servlet的执行流程:

1.从url-pattern开始,url-pattern是servlet的映射的名称

2.<servlet-mapping>中的servlet-name,这个servlet-name要与<servlet>中的servlet-name一致

3.通过servlet-name找到对应的servlet-class地址,通过反射的方式执行service()方法

另外:3.0之后的版本可以使用@WebServlet注解,而不需要配置web.xml

配置注解步骤:

  1. 创建java web项目,选择servlet版本3.0以上的,可以不创建web.xml文件
  2. 定义一个类,实现Servlet接口
  3. 重写方法
  4. 在类上使用注解@WebServlet("资源路径")进行配置

例如:

login.html

 

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <base href="http:localhost:8080/"/>
</head>
<body>
  <form action="/Login" method="post">
    用户名:<input type="text" name="username"/><br>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" /><br>
    登录:<input type="submit" value="登录" />
</form>
</body>
</html>
复制代码

RegisterServlet.jsp

复制代码
@WebServlet("/Login")
public class LoginServletH extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);

    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username:"+username);
        System.out.println("password:"+password);
    }
}
复制代码

Servlet的生命周期

 

1.被创建:执行init()方法,只执行一次

2.提供服务:执行service()方法,执行多次方法

3.被销毁:执行destroy()方法,只执行一次

 

posted @   时光里的少年  阅读(191)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示