request.getparameter()拿不到input的数据
时间: 2023-09-07 21:15:24 浏览: 115
可能是因为你没有设置正确的input name属性或者没有使用正确的请求方法。如果你使用的是GET请求,应该使用request.getParameter()方法来获取数据;如果你使用的是POST请求,应该使用request.getInputStream()方法来获取数据,并且需要使用流的方式来读取数据。另外,你也可以尝试使用request.getAttribute()方法来获取数据,前提是你已经将数据存储在request的attribute中。如果问题仍然存在,请检查你的代码是否有其他错误或者异常。
相关问题
<% String name=request.getParameter("name"); name=new String(name.getBytes("iso-8859-1"),"UTF-8"); session.setAttribute("name",name); String sex=request.getParameter("gender"); String[] hobby=request.getParameterValues("hobby"); String mes=""; if(name.equals("")){ mes="昵称不能为空,请输入昵称"; mes = URLEncoder.encode(mes); session.setAttribute("mes",mes); RequestDispatcher rd = request.getRequestDispatcher("input.jsp"); rd.forward(request,response); } else{ RequestDispatcher rd = request.getRequestDispatcher("infromation.jsp"); rd.forward(request,response); } session.setAttribute("sex",sex); session.setAttribute("hobby",hobby); %>哪里错了
这段代码中可能会出现一些问题,具体如下:
1. 在设置 name 属性时,应该先进行非空判断,否则可能会出现空指针异常。
2. 在进行转码时,应该使用 try-catch 块进行异常处理。
3. 在设置完 name 属性后,应该立即跳转到相应的页面,否则可能会出现逻辑错误。
建议修改后的代码如下:
```
<%
String name = request.getParameter("name");
String sex = request.getParameter("gender");
String[] hobby = request.getParameterValues("hobby");
String mes = "";
if (name == null || name.equals("")) {
mes = "昵称不能为空,请输入昵称";
mes = URLEncoder.encode(mes, "UTF-8");
session.setAttribute("mes", mes);
RequestDispatcher rd = request.getRequestDispatcher("input.jsp");
rd.forward(request, response);
} else {
name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
session.setAttribute("name", name);
session.setAttribute("sex", sex);
session.setAttribute("hobby", hobby);
RequestDispatcher rd = request.getRequestDispatcher("information.jsp");
rd.forward(request, response);
}
%>
```
<body> <c:if test="${!(empty param.username)&&!(empty param.password) } "> <% String username=request.getParameter("username"); String password=request.getParameter("password"); if(username.equals("wulian2020")&&password.equals("123")){ Cookie cookie_username=new Cookie("username",username); Cookie cookie_password=new Cookie("password",password); cookie_username.setMaxAge(60); cookie_password.setMaxAge(60); response.addCookie(cookie_username); response.addCookie(cookie_password); response.sendRedirect("index.jsp"); } else { response.setContentType("text/html;charset=utf-8"); out.write("账号或密码错误!"); } %> </c:if> <form action="login.jsp" method="post"> 账号:<input type="text" name="username"/><br> 密码:<input type="password" name="password"/><br> <input type="submit" value="登录" /> </form> </body>
这是一个简单的 JSP 页面,包括一个表单和一个条件语句。当用户提交表单时,会判断用户名和密码是否正确,如果正确则创建两个 Cookie 并重定向到 index.jsp 页面,如果不正确则输出错误信息。需要注意的是,这段代码存在一定的安全隐患,比如没有对参数进行输入合法性检查,可能会导致 SQL 注入等攻击。建议在实际应用中对代码进行进一步的优化和加固。
阅读全文