继承:HttpServlet
配置:web.xml/注解@WebServlet
<servlet>
<servlet-name>servletA名字</servlet-name>
--多个servlet中的servlet-name不能重复
<servlet-class>全类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletA名字</servlet-name>
--必须有对应到的servlet中的servlet-name
<url-pattern>/urlA</url-pattern>
--访问该servlet时候的url,即‘/工程名/urlA’
</servlet-mapping>
生命周期:servlet生命周期可被定义为从创建直到销毁的整个过程
1-servlet通过调用init()方法进行初始化
2-servlet调用servlet()方法来处理客户端的请求,-doget/dopost
3-servlet通过调用destroy()方法终止
4-最后servlet是由JVM垃圾回收器进行垃圾回收
init:参数类型ServletConfig
getInitParameter
getInitParameterNames
getServletName
doGet/doPost:参数类型HttpServletRequest/HttpServletResponse
获取工程名:
request.getContextPath
编码方式
request.setCharacterEncoding(“UTF-8”);
response.setCharaterEncoding(“UTF-8”);
request.setCharacterType(“text/html;charset=UTF-8”);
请求参数
getParameter-一个参数对应的值
getParameterValues-一个参数对应的多个值
getParameterNames
getParameterMap-所有参数对应的所有值
请求回应(响应/回复/应答)
getWriter(append/write/print/printin)-字符流
getOutputStream-字节流
请求跳转
转发
request.getRequestDispatcher("/test/tes211230/testb.jsp").forward(request, response);
重定向
response.sendRedirect("/demo211229/test/tes211230/testb.jsp");
区别:
1-转发是在服务器端完成的,重定向是在客户端发生的
2-转发的速度快一些,重定向速度慢
3-转发是同一个请求(web-servlet-web),重定向是两次不同的请求(web-servlet-web)(web-web)
4-转发的地址栏没有变化,重定向地址栏有变化
5-转发必须是在同一个服务器下完成,重定向可以在不同的服务器下完成
ps:
请求的路径地址一定是可访问的网络资源
网络资源:html/css/js/img/servlet/jsp/…