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");
发表回复