String account=new String(request.getParameter("username3").getBytes("ISO-8859-1"), "UTF-8");获取不到值
时间: 2024-05-23 22:12:37 浏览: 133
这个问题可能是由于编码问题引起的。你可以尝试以下几种方法解决:
1. 在前端页面中,确保表单提交时使用的编码格式为 UTF-8,可以在表单的 form 标签中添加 accept-charset="UTF-8" 属性。
2. 在后端代码中,尝试使用 request.setCharacterEncoding("UTF-8") 设置请求的编码格式为 UTF-8。
3. 如果以上方法仍然无效,可以尝试在获取参数值时,使用 URLDecoder.decode() 方法进行解码,例如:
String account = URLDecoder.decode(request.getParameter("username3"), "UTF-8");
希望能够帮到你解决这个问题。
相关问题
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String username = new String(request.getParameter("username").getBytes("ISO-8859-1"), "GBK"); String filePath = new String(request.getParameter("filePath").getBytes("ISO-8859-1"), "GB2312"); String fileName = new String(request.getParameter("fileName").getBytes("ISO-8859-1"), "GB2312"); //String path = "/user/hadoop/zhangsan/"; String path = "/user/fxb/favor/" + username + "/"; }
根据您提供的代码片段,您正在使用HttpServletRequest对象的getParameter方法来获取URL参数。在这种情况下,如果getParameter方法返回null,可能是以下原因之一导致的:
1. 参数未正确传递:请确保在URL中正确传递了名为"username"、"filePath"和"fileName"的参数。
2. 参数编码问题:您正在使用getBytes方法将参数从ISO-8859-1编码转换为GBK或GB2312编码。请确保编码转换正确,并且与请求参数的实际编码一致。
3. 参数名称错误:请检查参数名称是否正确拼写,并且与URL中的参数名称完全匹配。
请注意,您在代码中给出的路径变量path没有被使用,如果您希望使用该路径,请确保在适当的位置使用它。
如果问题仍然存在,请提供更多关于请求和响应的细节,以便我们更好地帮助您解决问题。
帮我找到代码中的错误 ReStu.connect(); //判断请求参数的合法性 String stuno = new String(request.getParameter("StuNo").trim().getBytes("iso8859_1")); String stuname = new String(request.getParameter("StuName").trim().getBytes("iso8859_1")); String password = new String(request.getParameter("Pswd").trim().getBytes("iso8859_1")); ResultSet rs = ReStu.QueryStu(stuno); //获取rs里查到的学号,和姓名,准备进行匹配 while (rs.next()){ String str1 = rs.getString(1); String str2 = rs.getString(2); if (str1.equals(stuno)&str2.equals(stuname)){ int i = ReStu.UpdPw(password,stuno); if(i>0){ out.println("注册成功");}%> <h4>注册成功</h4> <% }}%> <h4><a href="index.jsp">去登录</a></h4> <% ReStu.close_all();%>
可能的错误:
1. 缺少数据库连接设置和初始化代码。
2. 可能ReStu对象没有被正确初始化。
3. 可能QueryStu()方法没有正确实现或者其参数不正确。
4. 代码中使用了&而不是&&来进行逻辑与操作。
5. 如果UpdPw()方法返回的是一个布尔类型,那么应该使用if (ReStu.UpdPw(password,stuno))来进行判断。
6. 可能在使用ResultSet获取数据时,列的索引超出范围。
建议解决方案:
1. 确认数据库连接设置和初始化代码已经正确设置。
2. 确认ReStu对象已经被正确初始化。
3. 检查QueryStu()方法的实现和参数是否正确。
4. 将&改为&&。
5. 根据UpdPw()方法的返回类型,使用正确的if语句进行判断。
6. 确认ResultSet获取数据时,列的索引是否正确。
另外,建议使用try-catch语句来捕获可能出现的异常。
阅读全文