动态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");
设置响应编码有两种方式
- response.setContentType("text/html; charset=UTF-8");
- response.setCharacterEncoding("UTF-8");
这两种方式都需要在response.getWriter调用之前执行才能生效
他们的区别在于 - response.setContentType("text/html; charset=UTF-8");
不仅发送到浏览器的内容会使用UTF-8编码,而且还通知浏览器使用UTF-8编码方式进行显示。所以总能正常显示中文 - response.setCharacterEncoding("UTF-8");
仅仅是发送的浏览器的内容是UTF-8编码的,至于浏览器是用哪种编码方式显示不管。 所以当浏览器的显示编码方式不是UTF-8的时候,就会看到乱码,需要手动再进行一次设置。
来源:https://www.cnblogs.com/gaosibai/p/12553731.html