JavaEE学习笔记之Servlet/JSP(2)

本文详细介绍了JavaEE中Servlet和JSP的相关知识点,包括Form表单的GET和POST提交方式,字符编码的处理,路径的解析,以及重定向和转发的跳转方式。还探讨了乱码问题的解决方案,从编写、传输到显示的整个过程。此外,文章提及了三大数据存放对象以及Cookie和Session的使用,并讨论了在Session不可用时如何利用URL重写维持会话。
摘要由CSDN通过智能技术生成

1.Form表单的提交

A.先说说提交方式,比较常用的有两种 get 和 post ,当然还有其他的提交方式,如 pull 、header 、等等。

由form表单里面的Methed属性控制(默认为GET方式)

GET:

①把数据放在协议的头部

②可以在浏览器的地址栏里面看到

③安全性不高

④只能提交最多256个字符

POST:①把数据放在协议的体部

  ②不可以在浏览器的地址栏中看到

  ③安全性高

  ④数据的长度是没有限制的

  ⑤明确指定使用POST提交,否则默认都用GET

B.拿到你在form表单里面填写的各项数据

request.getParameter(String key);   //key 为表单中输入框的中的name属性的值

2.乱码问题

原则:字符从编写到显示都采用一种编码

A.控制字符编写的编码

Eclipse中Window->Preferences–>输入 endoding–>可以对各种文件设置编码(css、html、xml、jsp)–>Encoding(GBK、UTF-8)随便选一个

这样的话你新建出来的文件的编码格式就为你设置的编码格式了。

B.数据传输上控制

request.setCharacterEncoding(“UTF-8”);

response.setCharacterEncoding(“UTF-8”);

C.request接收表单提交中文参数乱码问题解决

get方式提交表单:

    对于以get方式传输的数据,request即使设置了以指定的编码接收数据也是无效的(至于为什么无效我也没有弄明白),默认的还是使用ISO8859-1这个字符编码来接收数据,客户端以UTF-8的编码传输数据到服务器端,而服务器端的request对象使用的是ISO8859-1这个字符编码来接收数据,服务器和客户端沟通的编码不一致因此才会产生中文乱码的。

    解决办法:

        1) 在接收到数据后,先获取request对象以ISO8859-1字符编码接收到的原始数据的字节数组,然后通过字节数组以指定的编码构建字符串,解决乱码问题。
String name = request.getParameter("name");//接收数据
name =new String(name.getBytes("ISO8859-1"), "UTF-8") ;//获取request

对象以ISO8859-1字符编码接收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值