Servlet 开发 (2)
上节说了下,service 里面的参数,这里来讲讲有什么用
servlet 开发(2)
访问 Servlet 的时候,其实可以带参数,比如
/servlet?id=1
这样的话,servletRequest 里面就会带有一段 带有id标识的 数据,值为1。
String id = servletRequest.getParameter("id");
这样就可以得到这段数据了。
然后比如 :
servletResponse.getWriter().write("连接正常....");
可以返回给页面数据。让页面现显示。
- 然后关于上一节,通过映射方式访问 Servlet 的配置方式,除了 xml 配置,还有基于注解的配置方式。
@WebServlet("/test")
public class testServlet implements Servlet{
}
Servlet 生命周期
- 创建: 当浏览器访问 Servlet 的时候,Tomcat 会查询当前 Servlet 的实例化对象是否存在,如果不存在,则通过反射机制动态创建对象,如果存在,直接执⾏第 3 步 service。
- init: 初始化操作
- service: 业务执行
- destroy: 销毁,关闭 Tomcat 时执行
(我们只需要创建,销毁会在服务器关闭时自动调用)
Servlet 的创建调用机制和JAVA字符串常量池相似。(看池子有没有,再考虑创建与否)
注:解析创建步骤
-
- 浏览器访问 localhost:8080/test
-
- Tomcat 解析 /test 得到映射里的全类名,查询对象是否存在
-
- 若不存在通过反射,创建对象 (原理涉及虚拟机底层、运行时类)
String str = "com.agrinJPG.servlet.test";
try{
Class test = Class.forName(str);
Constructor constructor = test.getConstructor();
Object object = constructor.newInstance();
}catch (Exception e){
e.printStackTrace();
}
ServletConfig
该接口用于描述 Servlet 基本信息。
- getServletName() 显然返回 Servlet 名称,(全类名)
- getInitParameter(String key) 获得 init 参数值 (Web.xml)
- getInitParameterNames() 返回所有 initParameter 的 name ,一般用于遍历初始化参数。
- getServletContext() 返回 ServletContext 对象(上下文)。
- ServletConfig 与 ServletContext :
ServletConfig 作⽤于某个 Servlet 实例,每个 Servlet 都有对应的ServletConfig
ServletContext 作⽤于整个 Web 应⽤,⼀个 Web 应⽤对应⼀个 ServletContext,多个 Servlet 实例对应⼀个 ServletContext。
⼀个是局部对象,⼀个是全局对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本