JSP表单处理(超级重点)
表单处理,即在服务器端通过java代码获取表单发送过来的请求参数的值
GET方法提交表单:请求参数会追加到url的后面,格式
Url?请求参数1=值&参数2=值2

POST方法提交表单:请求参数在Form Data中

注意:如果在写表单了,省略了method属性,那么默认使用GET方法提交
获取表单数据的常用方法
1)getParameter(String name):根据请求参数名来获取参数的值,只获取一个值
2)getParameterValues():根据请求参数名获取一组参数的值,只针对checkbox元素,
即多个参数的name相同
以上两个方法中的请求参数名就是表单中元素的name
获取请求参数数据时,中文乱码怎么解决?
1.对于GET方法提交,可以有2种解决方案:
方案1:将获取的数据先转换为byte[],再把byte数组重新编码为UTF-8格式的字符串
String sitename=request.getParameter("sitename");
byte[] bt= sitename.getBytes("ISO8859-1");
sitename=new String(bt,"UTF-8");
方案2:修改tomcat安装目录下的conf里的server.xml文件,找到第1个有效的Connector节点,在它上面加上属性URIEncoding=“UTF-8”,保存并重启web服务器

2.对于POST方法提交,解决中文乱码很简单:在第一次获取表单数据的前面
加上设置请求编码的语句:request.setCharacterEncoding(“UTF-8”)
<%
request.setCharacterEncoding("UTF-8");
String sitename=request.getParameter("sitename");
String url=request.getParameter("url");
%>
获取checkbox选中的一组值
调用request.getParameterValues(“checkbox的name”)
例如: String[] citys= request.getParameterValues(“city”);
本文重点介绍了JSP中表单处理的方法,包括GET和POST方式提交表单的区别。GET方法中,请求参数追加在URL后;POST方法中,参数位于Form Data中。获取表单数据主要通过`getParameter`和`getParameterValues`方法。针对中文乱码问题,GET方法的解决方案包括转换字节数组或修改Tomcat配置;POST方法则需在获取数据前设置请求编码为`UTF-8`。此外,`getParameterValues`用于获取checkbox选中的多个值。
399

被折叠的 条评论
为什么被折叠?



