web项目:能接受http请求
servlet生命周期:默认情况下,当Servlet第一次被访问时,被创建
//初始化方法,Servlet创建对象时执行,只执行一次 @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } //用户访问时执行,执行n次 @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("已接受到请求......"); } @Override public String getServletInfo() { return null; } //销毁方法,Servlet死亡是在执行,执行1次 @Override public void destroy() { }
多路径匹配
@WebServlet(urlPatterns = {"/wenDemo2","/wenDemo3"})
目录匹配
@WebServlet("/wenDemo3/*")
扩展名匹配
@WebServlet("*.do")
任意匹配
@WebServlet("/*")
优先级:
精确匹配》目录匹配》扩展名匹配》/*》/
请求转发:
req.getRequestDispatcher("/Demo5").forward(req,resp);
地址栏不变
一次请求一次响应
传递数据
响应字符
/响应字符 //设置相应格式 //resp.setContentType("text/html;charset=utf-8"); //PrintWriter writer = resp.getWriter(); //writer.write("哇哇哇哇");
重定向
resp.sendRedirect("http://localhost:8080/WebDemo3/Demo5");
浏览器地址栏路径发生变化
可以向任意页面跳转(服务器内外都可以,请求转发只能在服务器内)
两次请求两次响应
不能共享数据