servlet的一些总结

一、选择重定向还是转发

在我们编写代码需要跳转页面时,我们会考虑要选择重定向还是转发

下面是二者的一些区别:

 1.重定向需要发送两次请求;而转发只需要发送一次请求

2.重定向的地址栏会发生变化;转发地址栏不发生变化(最明显的区别)

3.重定向跳转发生在客户端

 

二、路径总结

在使用重定向或者转发跳转页面时,明明页面的单词没有出错,我们却经常会出现404 not found,页面找不到的问题

解决:选择重定向跳转页面时,推荐使用绝对路径,从项目的根目录出发requst.getContextPath()得到项目名,再加上"/资源路径"

统一路径写法:requst.getContextPath()+"/资源路径"

 

三、乱码问题总结

在使用servlet时,我们想输出中文字,但经常出现乱码问题,为什么会这样呢?

原因:在我们编写前端页面时,定义我们的编码方式为UTF-8,在我们浏览器发送url时,现在的很多浏览器默认编码也为utf-8,或者为gbk;但是我们的服务器接收的默认编码却是ISO-8859-1

解决方案:

对于get请求:在tomcat8开始,服务器处理get请求的默认编码也为UTF-8了,所以8以后的编码不用改

在tomcat7以前,1.需要在server.xml配置文件里修改get的请求编码为UTF-8;

2.再将接收到的请求打散,然后组装成字符串

//1.打散
byte[] bytes = name.getBytes("UTF-8");
//2.组装成字符串
name = new String(bytes,"UTF-8");

 

对于post请求:

1.设置指定服务器给浏览器的编码方式(要确保使用的浏览器默认编码为utf-8)

response.setCharacterEcoding("UTF-8")

2.设置服务器响应给客户端的文件格式,同时,浏览器也根据这个参数来对接收到的数据进行解码

response.setContentType("text/html;charset=utf-8")

注意:这两行代码要放在第一,二行.

 

posted @   Tmillion  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示