使用HttpServletRequest获取from-data中的数据,request.getparameter()取不到
时间: 2024-02-17 14:03:44 浏览: 20
如果您使用HttpServletRequest获取form-data中的数据,可以使用以下方法:
```java
String value = request.getParameter("name");
```
其中,name是form-data中定义的参数名。如果您的form-data中有多个参数,您可以分别调用getParameter方法来获取它们的值。
需要注意的是,如果您使用的是POST方式提交form-data,且form-data中的Content-Type是application/x-www-form-urlencoded,那么getParameter方法才能获取到参数值。如果您使用的是其他ContentType,比如multipart/form-data,那么需要使用其他方式解析参数值。
如果您的from-data是一个复杂的数据结构,比如包含了文件上传等数据,建议使用SpringMVC或SpringBoot自带的MultipartResolver解析器来处理form-data,这样可以更加方便地获取参数值。
相关问题
package servlet; import dao.ScoreD; import dao.StudentD; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/add_student") public class add_student extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); StudentD studentD = new StudentD(); ScoreD scoreD = new ScoreD(); String id = request.getParameter("id"); String name = request.getParameter("name"); String sex = request.getParameter("sex"); String major = request.getParameter("major"); String school_date = request.getParameter("school_date"); try { studentD.insertStudent(id, name, sex, school_date, major); scoreD.insertScore(id); } catch (Exception e){ out.print(e); } response.sendRedirect("one_page_student"); } } 数据结构
这段代码是一个 Java Servlet,用于添加学生信息和成绩信息到数据库中。它使用了两个 DAO(Data Access Object)类:StudentD 和 ScoreD,分别用于将学生信息和成绩信息插入到数据库中。在 doPost 和 doGet 方法中,先获取请求中的参数值,然后调用 StudentD 和 ScoreD 的插入方法将数据插入数据库中。如果出现异常,则将异常信息输出到页面上。最后,重定向到 one_page_student 页面。
private void Useredit(HttpServletRequest request, HttpServletResponse response) { String id=request.getParameter("id"); String UserName=request.getParameter("username"); String Password=request.getParameter("password"); UserServices userServices=new UserServices(); User user=new User(); user.setId(Long.parseLong(id)); user.setUserName(UserName); user.setPassword(Password); boolean succ=userServices.save(user); if (succ){ try { response.sendRedirect("list"); } catch (IOException e) { e.printStackTrace(); } } else { request.setAttribute("err","保存数据出错"); request.setAttribute("data",user); request.getRequestDispatcher("edit.jsp"); } userServices.save(user); }
这段代码是一个Java Servlet中的方法,用于处理用户编辑信息的请求。具体来说,它从HTTP请求中获取id、UserName和Password参数,创建一个User对象并设置它们的值,然后将其保存到数据库中。如果保存成功,则将用户重定向到列表页面,否则将显示一个错误消息并将用户重定向回编辑页面。
需要注意的是,这段代码中有一个错误,即在if语句外面多余地调用了一次`userServices.save(user)`方法。如果保存成功,已经在if语句中调用了一次,因此可以将这行代码删除。同时,如果保存失败,应该使用`request.getRequestDispatcher("edit.jsp").forward(request, response)`将请求转发回编辑页面,而不是使用重定向。