04 存在中文乱码_请求转发.重定向_路径问题
一、客户端请求服务器的数据有乱码 1.get方式请求 ①修改tomcat/conf/server.xml,在<Connector> 标签中添加属性useBodyEncodingForURI="true" ②在获取请求数据之前,设置 request.setCharacterEncoding("utf-8"); 2.post方式请求 在获取请求数据之前,设置 request.setCharacterEncoding("utf-8"); 二、服务器返回给客户端的数据有乱码
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); }
请求转发
request.getRequestDispathcer("path").forward(reqeust,response); 请求转发的特点: 1.地址栏没有发生变化 2.用户只发起了一次请求 3.请求转发只能转发本服务器以内的资源 4.由于请求是同一个对象,所以可以利用该request做servlet之间数据的传输重定向
response.sendRedirect("path") 重定向的特点: 1.地址栏会发生改变 2.用户发起了两次请求 3.重定向可以访问服务器以外的资源 4.重定向由于请求多次的,所以HttpServletRequest不是同一个对象,故不能使用它传递数据public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接受用户的用户名和密码 String uname = request.getParameter("uname"); String passwd = request.getParameter("passwd"); //验证用户名和密码 if(uname.equals("zhangsan") && passwd.equals("1234")){ //去主页操作 //请求转发 request.getRequestDispatcher("index.jsp").forward(request, response); }else{ //跳回登录页面,继续登录 //重定向 response.sendRedirect("login.html"); } }
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("aaa", "bbb"); request.getRequestDispatcher("des").forward(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("aaa", "ccc"); response.sendRedirect("dest"); //重定向的特点: //1.地址栏会发生改变 //2.用户发起了两次请求 //3.重定向可以访问服务器以外的资源 //4.重定向由于请求多次的,所以HttpServletRequest不是同一个对象,故不能使用它传递数据 }
路径问题 一、分析 1.找出一个url中的项目名称 项目名称前面的“/”是服务器地址,例:http://127.0.0.1:8080/ 项目名称后面的“/”是项目地址,例:http://127.0.0.1:8080/proejctname/ 二、判断 1.判断一次请求行为是谁发出的 如果是浏览器行为,则表示项目名称前面的“/”,即服务器地址 如果是服务器内部行为,则表示项目名称后面的“/”,即项目地址 1.服务器内部行为:请求转发 2.浏览器行为:重定向、页面中form提交、页面中a标签、js中通过location.href定位一个路径

更多精彩