Servelt

ServletRequest

1.设置中文

1.post申请

        request.setCharacterEncoding("utf-8");

2.get申请

Tomcat8当前,附带Http默认编码方式为UTF-8

2.常见办法

对于参数

        //返回String        request.getParameter("name");        //返回数组,用于checkbox或List...        request.getParameterValues("参数");

对于标头

        //返回String        request.getHeader("");        //Enumeration<String> getHeaders(String var1);        request.getHeaders("");

对于读文件

        //返回ServletInputStream getInputStream() throws IOException;应用需为InputStream        InputStream stream=request.getInputStream();        //返回BufferedReader getReader() throws IOException;        request.getReader();    

Servlet3.0之后的get Part()办法

//1.注解设置文件要写入磁盘地位@MultipartConfig(location = "i:/")@WebServlet("/hello")public class HelloServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        Part part=request.getPart("photo");        part.write(/*FileName*/);    }

3.转发Servlet

a.获得RuquestDispatcher

        request.getRequestDispatcher("/*要转发的Servlet*/");

b.应用include()或forward()

        //将拎一个Servlet蕴含进来        request.getRequestDispatcher(" ").include(request,response);        //接下来的事件转发给另一个Servlet执行        request.getRequestDispatcher(" ").forward(request,response);        //Servlet之间须要共享的对象        request.setAttribute(/*name*/,/*value*/);        request.getAttribute(/*name*/);    

应用重定向

ServeltResponse

1.设置中文

        response.setContentType("text/html;charset=UTF-8");

2.罕用办法

对于输入字符

        response.setContentType("text/html;charset=UTF-8");        PrintWriter out=response.getWriter();        out.println("<!DOCTYPE html>");        out.println("<html>");        out.println("<head>");        out.println("<title></title>");        out.println("</head>");        out.println("<body>");        out.println("</body>");        out.println("</html>");

对于输入文件给浏览器

        response.setContentType("application/pdf");        try (InputStream in= getServletContext().getResourceAsStream("/WEB-INF/test.pdf");             OutputStream stream=response.getOutputStream();){            byte buffer[]=new byte[1024];            int length=-1;            while ((length=in.read(buffer))!=-1){                stream.write(buffer,0,length);            }        }catch (IOException E){            E.printStackTrace();        }

对于重定向

        //转发到另一资源,会扭转URI        response.sendRedirect("index.html");