初步了解:
1.UTF-8国际编码,GBK中文编码。GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;
2、web tomcat:默认是ISO8859-1,不支持中文的
3.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;
4.getBytes() 是通过平台默认字符集进行编码;
出现乱码根本原因就是编码不一致的问题,所以解决方式就是设置编码的方式
其中,还分为字节流和字符流的解决方式
字节流:
字符流:
实现网页定时刷新并且跳转
在chapter04项目的response包中编写一个名为RefreshServlet的类,该类使用response对象的setHeader()方法实现网页的定时刷新并跳转的功能
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Refresh","2;URL=https://blog.csdn.net/PENTD?spm=3001.5343);
}
对文件进行修改,使当前页面每隔3秒自动刷新一次:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Refresh","3");
response.getWriter().println(new java.util.Date());//输出当前时间
启动Tomcat 服务器,在浏览器访问RefreshServlet,可以看到浏览器每隔3秒刷新一次,并且输出了当前的时间。
实现请求重定向:
实现请求重定向,在HttpServletResponse 接口中,定义了一个sendRedirect()方法,该方法用于生成302响应码和Location响应头,从而通知客户端重新访问Location响应头中指定的URL。
在chapter04项目的WebContent目录下编写用户登录的页面login.html和登录成功的页面welcome.html