servlet
部署servlet
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.qf.servlet.MyServlet</servlet-class> //权限定名称
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/first</url-pattern> //访问地址名称
</servlet-mapping>
servlet 继承HTTPServlet 可以不用重写接口或父类方法
注解: @WebServlet == 部署Servlet
@WebServlet(value = "/bs",loadOnStartup = 0)
public class MyServlet_03 extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("服务器启动中");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("请求结束,响应语句");
}
}
请求对象 HttpServletRequest req
设置编码格式
req.setCharacterEncoding("UTF-8");
响应对象 HttpServletResponse resp
设置编码格式
resp.setContentType("text/html;charset=UTF-8");
相应对象打印输出在浏览器
PrintWriter printWriter = resp.getWriter();
printWriter.println("注册成功");
转发
req.getRequestDispatcher("/b").forward(req,resp);
转发请求对象 reg.(key,value) -----(String,Object),可以传输任何类型
重定向
resp.sendRedirect("/ServletProject_war_exploded/b");
转发响应对象,只能传输String类型
Servlet的生命周期
四个阶段
1.实例化
public AServlet(){
}
2.初始化阶段
public void init(ServletConfig servletConfig) throws ServletException {
}
3.服务(发出请求,响应服务)
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
4.销毁
public void destroy() {
}
除了服务可以执行多次,其余从头到尾只会执行一次