request: 获取请求数据如网页上输入的信息
response:设置响应数据如设置网页显示的信息
如上图,在deGet方法中使用了request来获取页面中的name值,使用response来输出
request获取请求数据(请求头、请求行、请求体)
get和post获取请求参数的方法是不一样的,get是上面的req.getQueryString(),而post是用req.getReader()的
但是这样写太麻烦了,Servlet提供了几个方法,直接使用下列的方法即可获取请求参数,不用区分是get请求还是post请求
例如获取username的值
String username = req.getParameter("username"); System.out.println(username);
解决post中文乱码问题:
用request.CharacterEncoding("UTF-8");设置字符输入流的编码
解决get/post中文乱码问题:
new String(username.getBytes("ISO-8859-1"),"UTF-8");
response.setContextType("text/html;charset=utf-8");
Request请求转发
转发的方法:
@WebServlet("/testServlet") public class testServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("---正---在---转---发---"); request.getRequestDispatcher("/test1Servlet").forward(request,response);
}
@WebServlet("/test1Servlet") public class test1Servlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("转发成功...");
Object msg = request.getAttribute("msg");
System.out.println(msg);
response重定向:
@WebServlet("/respServlet01") public class respServlet01 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //response.setStatus(302); System.out.println("重定向中..."); //response.setHeader("location", "/tomcat-Demo/respServlet02");
response.sendRedirect("/tomcat-Demo/respServlet02");
}
@WebServlet("/respServlet02") public class respServlet02 extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("重定向成功..."); }
动态获取虚拟目录:
String contextPath = request.getContextPath(); response.sendRedirect(contextPath + "/xxx");
字符输出流:
response.setContextType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); writer.write("<h1>abcdefg</h1>");
字节输出流请看黑马P108
标签:请求,request,System,响应,println,response,out From: https://www.cnblogs.com/changeyi/p/16901097.html