首页 > 其他分享 >servlet的一些总结

servlet的一些总结

时间:2022-10-23 18:13:07浏览次数:72  
标签:总结 编码 UTF 重定向 跳转 一些 浏览器 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")

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

 

标签:总结,编码,UTF,重定向,跳转,一些,浏览器,servlet,页面
From: https://www.cnblogs.com/pilpill/p/16818952.html

相关文章

  • 2022-2023-1 20221405 《计算机基础与程序设计》 第八周学习总结
    作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第八周作业这个作业的目标数组与链表......
  • 解决vs code C语言编译路径丢失问题的一些思考
    -问题说明: 本人算是刚接触c语言的萌新,配置vscode编译环境时费了不少波折。今天我删除掉了一个包含mingw的文件(这个文件是本人下载过的两个编译器其中的一个,因为无法确认......
  • 复盘:一次测试负责人岗位面试总结
    最近面试了某企业的测试负责人岗位,历经四面,收获蛮多的。这篇文章,我想聊聊这次面试过程中的一些经历,以及些许经验和教训。 岗位要求岗位名称:测试负责人岗位要求:1、扎......
  • 西语动词变位总结
    西语动词变位总结陈述式 modoindicativo一、现在时presente1.规则动词变位规律(纠正:ar第二人称为-áis)举个最简单的例子.trabajar变位:yotrabajo,tútrabaja......
  • 10.23学习总结
    10.23学习总结目录10.23学习总结一、常见内置函数二、可迭代对象三、迭代器对象四、生成器对象五、for循环的本质六、异常捕获七、异常捕获语法八、迭代取值与索引取值的......
  • 第四周总结
    目录异常处理语法结构异常处理语法结构可迭代对象、迭代器和生成器异常处理语法结构异常处理语法结构基本语法结构try:待监测的代码except错误类型:针对上......
  • python模块、异常处理、软件开发目录规范总结
    本周总结异常处理生成器模块软件开发目录1.异常处理1.1异常处理语法结构1.基本语法 try:待检测的代码(可能会出错的代码)except错误......
  • 【博学谷学习记录】超强总结,用心分享|抓包工具Fiddler详细教学
    一、简介与原理1.1、简介Fiddler是一个HTTP协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的HTTP通讯。Fiddler提供了电脑端、移动端的抓......
  • go的一些坑。。。
    1.函数A把切片作为参数传入函数B由于切片的底层是结构体,这种传参表面是切片引用,本质却是结构体的值传递,因此如果B内部对切片进行重新赋值或扩容,会导致B中切片的底层数组......
  • 第19组 chap5 函数与递归 学习总结
    本周我们主要学习了c语言中的自定义函数与递归算法。我们了解到C语言中算法主要是依靠函数而实现的,而自定义函数与函数间的相互调用能帮助我们更好地实现目标。   ......