@RequestParam String name 和HttpServletRequest.getParameter("name")获取的参数一样吗
时间: 2024-06-01 09:13:06 浏览: 79
是的,@RequestParam String name 和 HttpServletRequest.getParameter("name") 获取的参数是一样的。两者都可以获取请求中的参数值。但是@RequestParam注解可以更方便地将参数值绑定到方法的参数中,而且@RequestParam还支持一些额外的属性,比如设置参数是否必须、设置默认值等。
相关问题
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String formType = req.getParameter("formType"); req.setCharacterEncoding("UTF-8"); HttpSession session = req.getSession(); if("update".equals(formType)){ String id = req.getParameter("id"); String name = req.getParameter("name"); String sex = req.getParameter("sex"); String phone = req.getParameter("phone"); String relation = req.getParameter("relation"); String userId = req.getParameter("userId"); contactRepository.updateById(id,name,sex,phone,relation,userId); resp.sendRedirect("/contact"); } else if("insert".equals(formType)){ String name = req.getParameter("name"); String sex = req.getParameter("sex"); String phone = req.getParameter("phone"); String relation = req.getParameter("relation"); String userId = req.getParameter("userId"); contactRepository.add(name,sex,phone,relation,userId); resp.sendRedirect("/contact");
这段代码是一个使用Java编写的Servlet的doPost方法,用于处理HTTP POST请求。根据传入的formType参数的不同值,执行不同的操作。
如果formType的值为"update",则表示进行联系人信息的更新操作。代码中获取了id、name、sex、phone、relation和userId等参数,并调用contactRepository.updateById方法来更新联系人信息。更新完成后,通过resp.sendRedirect方法将请求重定向到"/contact"页面。
如果formType的值为"insert",则表示进行联系人信息的插入操作。代码中获取了name、sex、phone、relation和userId等参数,并调用contactRepository.add方法来插入联系人信息。插入完成后,同样通过resp.sendRedirect方法将请求重定向到"/contact"页面。
这段代码假设了一个contactRepository对象用于处理数据库中的联系人信息。具体的数据库操作逻辑不在这段代码中展示,可能需要根据具体情况进行实现。
此外,代码中还设置了字符编码为UTF-8,并获取了当前会话的HttpSession对象。
请注意,这只是代码片段,并不能独立运行,可能还需要其他部分的代码来完善功能。
public void userReg(HttpServletRequest req,HttpServletResponse res) { String id=String.valueOf(new Date().getTime()); String loginname=req.getParameter("loginname"); String loginpw=req.getParameter("loginpw"); String name=req.getParameter("name"); String sex=req.getParameter("sex"); String age=req.getParameter("age"); String address=req.getParameter("address"); String tel=req.getParameter("tel"); String email=req.getParameter("email"); String qq=req.getParameter("qq"); String del="no"; String sql="insert into t_user values(?,?,?,?,?,?,?,?,?,?,?)"; Object[] params={id,loginname,loginpw,name,sex,age,address,tel,email,qq,del}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); String targetURL = "/common/add_success.jsp"; dispatch(targetURL, req, res); }修改为封装对象形式
public void userReg(HttpServletRequest req, HttpServletResponse res) {
// 创建 User 对象并设置属性值
User user = new User();
user.setId(String.valueOf(new Date().getTime()));
user.setLoginname(req.getParameter("loginname"));
user.setLoginpw(req.getParameter("loginpw"));
user.setName(req.getParameter("name"));
user.setSex(req.getParameter("sex"));
user.setAge(req.getParameter("age"));
user.setAddress(req.getParameter("address"));
user.setTel(req.getParameter("tel"));
user.setEmail(req.getParameter("email"));
user.setQq(req.getParameter("qq"));
user.setDel("no");
// 将 User 对象插入数据库
String sql = "insert into t_user values(?,?,?,?,?,?,?,?,?,?,?)";
Object[] params = {user.getId(), user.getLoginname(), user.getLoginpw(), user.getName(), user.getSex(), user.getAge(), user.getAddress(), user.getTel(), user.getEmail(), user.getQq(), user.getDel()};
DB mydb = new DB();
mydb.doPstm(sql, params);
mydb.closed();
String targetURL = "/common/add_success.jsp";
dispatch(targetURL, req, res);
}
阅读全文