get提交方式: method="get”和地址栏请求方式默认都属于get提交方式
get方式在地址栏显示请求信息﹐(但是地址栏能够容纳的信息有限,4-5KB;如果请求数据存在大文件,b.文件上传操作,必须是post
推荐使用post
统一请求的编码request
get方式请求如果出现乱码,解决:a.统一每一个变量的编码(不推荐)
new String(旧编码,新编码);
Iname = new String(name.getBytes("iso-8859-1"), "utf-8" );
修改server.xml ,一次性的更改tomcat默认get提交方式的编码(utf-8)
建议使用tomcat时,首先在server.xml中统一get方式的编码.. URIEncoding="UTF-8"
<form action="show.jsp"> 用户名:<input type="text" name="uname"> 密码:<input type="password" name="upwd"> 年龄:<input type="text" name="uage"> 爱好:<br/>: <input type="checkbox" name="uhobbies" value="足球"/>足球, <input type="checkbox" name="uhobbies" value="蓝球"/>蓝球, <input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球, <input type="submit" value="注册"> </form>
<% request.setCharacterEncoding("utf-8"); String name = request.getParameter("uname"); int age = Integer.parseInt(request.getParameter("uage")); String pwd = request.getParameter("upwd"); String[] hobbies = request.getParameterValues("uhobbies"); %> 注册成功,信息如下:<br/> 姓名: <%=name %><br/> 年龄: <%=age %><br/> 密码: <%=pwd %><br/> 爱好: <br/> <% if (hobbies !=null){ for (String hobby : hobbies) { out.print(hobby + " "); } } %>
编码问题:
<form action="show.jsp"> 用户名:<input type="text" name="uname"> 密码:<input type="password" name="upwd"> 年龄:<input type="text" name="uage"> 爱好:<br/>: <input type="checkbox" name="uhobbies" value="足球"/>足球, <input type="checkbox" name="uhobbies" value="蓝球"/>蓝球, <input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球, <input type="submit" value="注册"> </form>
<% request.setCharacterEncoding("utf-8"); String name = request.getParameter("uname"); new String(name.getBytes("iso-8859-1"),"utf-8"); name = new String(name.getBytes("gbk"),"utf-8"); int age = Integer.parseInt(request.getParameter("uage")); String pwd = request.getParameter("upwd"); String[] hobbies = request.getParameterValues("uhobbies"); %> 注册成功,信息如下:<br/> 姓名: <%=name %><br/> 年龄: <%=age %><br/> 密码: <%=pwd %><br/> 爱好: <br/> <% if (hobbies !=null){ for (String hobby : hobbies) { out.print(hobby + " "); } } %>