要下载javaee的文档才能查询到以下类的功能
GenericServlet:抽象类,只有service方法(无论是get还是post都进这)
HttpServlet:抽象类,继承GenericServlet,开始有了doGet,doPost这些方法
web.xml设置servlet
<servlet>
<servlet-name>servlet01</servlet-name>
<!--具体servlet类名-->
<servlet-class>com.Yuriki.Servlet.UserServlet</servlet-class>
</servlet>
<!--映射-->
<servlet-mapping>
<!--跟上面的servlet名字一样-->
<servlet-name>servlet01</servlet-name>
<!--地址栏访问名称-->
<url-pattern>/user</url-pattern>
</servlet-mapping>
通过user,找到serlvet01对应的类
java类直接设置servlet
@WebServlet(name = "UserServlet",urlPatterns = "/user")
urlPatterns是String数组类型,可以写多个url
设置字符集编码
request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8");
获取数据
//获取前端数据
request.getParameter("前端name值");
//获取requst请求域数据
request.getAttribute("userList");
//前端获取数据,要请求转发过来的才能获取,重定向获取不到
${requsetScope.userList}
设置数据
request.setAttribute("userList",userList);
//后端响应给前端ajax的数据
response.getWriter().write(data);
//后端提示前端输出错误提示,并转到add页面去,这4个write里面的语句也可写到一个write里面
PrintWriter writer=response.getWriter();
writer.write("<script>");
writer.write("alert(‘数据添加失败!‘);");
writer.write("window.location.href=‘add.jsp‘");
writer.write("</script>");
writer.flush();
writer.close();
请求转发
request.getRequestDispatcher("easyShow.jsp").forward(request,response);
不会改变地址栏的内容
只有一次请求,request和response能在Servlet与jsp*享
/代表服务器的web站点目录
重定向
response.sendRedirect("请求地址");
会改变地址栏的内容
是两次请求的过程,request和response在Servlet与jsp中是独立的
/代表webapps这个目录