servlet转发与重定向

date
Oct 16, 2018
slug
servlet转发与重定向
status
Published
tags
Java
Website
summary
type
Post
category

Servlet

servlet是用来处理用户请求的小程序
response.setContentType(“text/html;charset=UTF-8”); 目的是为了控制浏览器的行为,即控制浏览器用UTF-8进行解码;
response.setCharacterEncoding(“UTF-8”);目的是用于response.getWriter()输出的字符流的乱码问题
  1. 如果中文返回出现??字符,这表明没有加response.setCharacterEncoding(“UTF-8”);
  1. 如果返回的中文是“烇湫”这种乱码,说明浏览器的解析问题,应该检查下是否忘加response.setHeader(“Content-type”, “text/html;charset=UTF-8”);
service服务负责转发doget或dopost或doxxx方法,如果重写了service就需要添加上转发方法
servletContext表示整个javaweb工程
servletConfig表示某一个servlet中的配置文件

转发和重定向

  • 转发(内部重定向):request.getRequestDispatcher(“目标地址”).forward(request,response);
  • 重定向:response.sendRedirect(“目标地址”);
  1. 重定向可以是任意url,转发只能在同一个web应用程序中的其他web组件
  1. 使用转发不会改变浏览器地址栏的url,转发前后url一样;重定向会改变浏览器url。
  1. 转发只请求一次服务器,重定向请求服务器两次。
  1. 转发保存数据,重定向不保存数据
 

© Rysi 2018 - 2023