Servlet3.0支持,使用WebServlet注解配置
在类前面加:
@WebServlet(“/Servlet的URL”)
对比两种注册方法:
-
使用注解比较简单,缺点是使用硬编码方式进行注册,后面如果需要修改就需要修改源代码。
-
使用XML比较繁琐,优点是XML可以在网站部署后进行修改。
==========================================================================
Servlet的生命周期是由服务器来进行管理的,主要的生命周期有:
- 实例化
用户第一次访问该Servlet类时,就会创建一个Servlet的实例,该实例保存在Tomcat中。(注意一个Servlet类只有一个实例)
默认情况下,Servlet第一次被访问时被创建
在标签下配置执行Servlet的创建时机
- 第一次被访问时创建
负数
- 在服务器启动时创建
0或正整数
- 初始化
init方法,用户第一次访问时,先实例化,然后初始化
- 服务
调用service方法,给用户提供服务,用户每访问一次,就调用一次
- 销毁
调用destroy方法,释放各种资源,在Tomcat关闭时调用
案例代码:
/**
- 测试Servlet的生命周期
*/
@WebServlet(“/lifecircle.do”)
public class LifecircleServlet extends HttpServlet{
public LifecircleServlet(){
System.out.println(“实例化LifecircleServlet”);
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
super.service(req, res);
System.out.println(“LifecircleServlet进行服务”);
}
@Override
public void destroy() {
super.destroy();
System.out.println(“LifecircleServlet进行销毁”);
}
@Override
public void init() throws ServletException {
super.init();
System.out.println(“LifecircleServlet进行初始化”);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(“LifecircleServlet调用doGet”);
}
}
=============================================================================
service方法用于处理用户请求,参数:
- HttpServletRequest 请求参数,包含请求URL、方法、参数等信息
主要方法:
-
String getParameter(“参数名”) 获得请求中的参数
-
setCharacterEncoding(“编码类型”) 设置请求的编码
-
getMethod() 获得请求方法类型,Get、POST…
-
getRequestURL() 获得请求的URL
-
HttpServletResponse 响应参数,给浏览器提供响应的交互
主要方法:
-
PrintWriter getWriter() 获得输出流,向浏览器发送信息
-
sendRedirect(“页面地址”) 实现页面的跳转
-
setCharacterEncoding(“编码类型”) 设置响应的编码
案例:Servlet接受浏览器发送的请求参数
@WebServlet(“/register.do”)
public class RegisterServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(“doGet”);
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置请求的编码
req.setCharacterEncoding(“UTF-8”);
//设置响应的编码
resp.setContentType(“text/html;charset=UTF-8”);
//获得请求参数
String username = req.getParameter(“username”);
//解决get提交参数的中文乱码
//username = new String(username.getBytes(“ISO-8859-1”),“UTF-8”);
String password = req.getParameter(“password”);
String pid = req.getParameter(“pid”);
String phone = req.getParameter(“phone”);
//输出参数
System.out.println(username+“,”+password+“,”+pid+“,”+phone);
//获得响应对象的输出流
PrintWriter pw = resp.getWriter();
pw.println(username+“你好啊”);
pw.close();
}
}
客户端表单:
最后
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档

还有更多面试复习笔记分享如下
d>
最后
由于篇幅有限,这里就不一一罗列了,20道常见面试题(含答案)+21条MySQL性能调优经验小编已整理成Word文档或PDF文档

还有更多面试复习笔记分享如下
[外链图片转存中…(img-UdT0ptDs-1710351758601)]