Servlet_3

谁都会走 提交于 2020-03-29 21:19:09

动态web项目

采用动态Web项目-Dynamic Web Project的方式把 Java project+独立Tomcat的Hello Servlet 重新做一遍。
此时好像用不到server.xml文件了

跳转

在Servlet中进行服务端跳转的方式:
request.getRequestDispatcher("success.html").forward(request, response);
服务端跳转可以看到浏览器的地址依然是/login 路径,并不会变成success.html

在Servlet中进行客户端跳转的方式:
response.sendRedirect("fail.html");
可以观察到,浏览器地址发生了变化

编码

设置接收编码
request.setCharacterEncoding("UTF-8");

设置响应编码有两种方式

  1. response.setContentType("text/html; charset=UTF-8");
  2. response.setCharacterEncoding("UTF-8");
    这两种方式都需要在response.getWriter调用之前执行才能生效
    他们的区别在于
  3. response.setContentType("text/html; charset=UTF-8");
    不仅发送到浏览器的内容会使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示。所以总能正常显示中文
  4. response.setCharacterEncoding("UTF-8");
    仅仅是发送的浏览器的内容是UTF-8编码的,至于浏览器是用哪种编码方式显示不管。 所以当浏览器的显示编码方式不是UTF-8的时候,就会看到乱码,需要手动再进行一次设置。
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!