简化代码:
首先到这个jar包
然后用他的方法
@WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); // String username = req.getParameter("username"); // String password = req.getParameter("password"); // // User user = new User(); // user.setUsername(username); // user.setPassword(password);
//方法 Map<String, String[]> parameterMap = req.getParameterMap(); User user = new User(); try { BeanUtils.populate(user,parameterMap); } catch (Exception e) { e.printStackTrace(); }
UserDao userDao = new UserDao(); User login = userDao.login(user); if (login == null){ req.getRequestDispatcher("/failServlet").forward(req,resp); }else { req.setAttribute("user",user); req.getRequestDispatcher("/successServlet").forward(req,resp); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } }
登录案例_BeanUtils介绍
BeanUtils工具类,简化数据封装
用于封装javaBean的
javaBean:标准的java类
要求:
类必须被public 修饰
必须提供空参的构造器
成员变量必须使用private修饰
提供公共settler和getter方法
功能:封装
概念:
成员变量:
属性: settler和getter方法截取的产物
例如:getUsername()-->username -- username
方法:
setProperty()
getProperty()
populate(object obj,Map map) 将map结合的键值对信息的封装对应的javaBean对象中
user实体类
private int id; private String username; private String password; private String gender; @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", gender='" + gender + '\'' + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void setHehe(String gender){ this.gender = gender; } public String getHehe(){ return gender; }
创建beanUtils进行测试
@Test public void test(){ User user = new User(); try { BeanUtils.setProperty(user,"hehe","male"); System.out.println(user); String name = BeanUtils.getProperty(user, "hehe"); System.out.println(name); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)