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”);