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
配置注解步骤:
- 创建java web项目,选择servlet版本3.0以上的,可以不创建web.xml文件
- 定义一个类,实现Servlet接口
- 重写方法
- 在类上使用注解@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> 密 码:<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()方法,只执行一次
分类:
Java Web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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)