Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说java servlet笔记:设置编码集、文件下载和两种服务器跳转,希望能够帮助你!!!。
设置请求的编码:
request.setCharacterEncoding(服务器编码)
在代码中也就是这样:
本身这个语法是对请求实体进行设置编码,针对于post有效,如果需要对get同时设置编码,需要在设置端口号的地方添加一个useBodyEncodingForURI="true".,如下图:
设置响应实体中的编码:
response.setHeader("content-type","text/html;charset=服务器编码")
在代码中是这样:
表单如果是get方式提交,那么action后面跟的参数会被覆盖。解决方式,1)使用post传参。2)可以使用隐藏域
1)设置下载的响应头
response.setHeader("content-disposition","attachment;filename=文件名")
文件名是用户所接收到的文件的名字,如果文件名字中带中文,需要设置编码集为iso8859-1
在代码中是这样:
2)将资源以流的方式输出
请求转发:
request.getRequestDispacher(地址).forward(请求对象,响应对象)
特点:
1)整个过程只有一次请求
2)地址栏不发生变化
3)效率高
4)不能访问外部资源
5)绝对路径的/ 代表的是根目录之后的 /
6)一般习惯性的在请求转发之后添加一个return
重定向:
response.sendRedirect(地址)
特点:
1)整个过程只有两次请求
2)地址栏发生变化
3)效率低
4)能访问外部资源
5)绝对路径的/ 代表的是端口号之后的 /
6)一般习惯性的在重定向之后添加一个return
路径总结:
请求转发: 绝对路径的/ 代表的是根目录之后的 /
重定向: 绝对路径的/ 代表的是端口号之后的 /
页面的路径: 绝对路径的/ 代表的是端口号之后的 /
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。