【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录

落日映苍穹つ 2022-06-10 05:09 215阅读 0赞

项目还是基于之前【001】中建立的结构,这一章,通过一个简单的demo,熟悉下注解的使用。

先看下要实现的效果。

首先是注册界面,其次是登录界面,最后是欢迎界面。

201708140927160202017081409272583220170814092735809

-————————————————————————————【我是分界线】——————————————————————————

【1】首先创建一个User类,路径为src/com/test/model/User.java。结构图如下所示:

SouthEast

User.java的代码如下,这个类是一个域对象,用来接收并封装前台页面传递过来的数据。通常,在构建域对象时,需要考虑该对象可能需要进行网络传输本地缓存,因此建议实现序列化接口Serializable。

  1. //域对象,实现序列化接口 //set get方法略
  2. public class User implements Serializable{
  3. private String loginname;
  4. private String username;
  5. private String password;
  6. }

【2】创建UserController.java文件,路径为:src\com\test\controller\UserController.java

  1. @Controller
  2. @RequestMapping(value="/user")
  3. public class UserController {
  4. private static List<User> userList;
  5. /* @Autowired
  6. private static User user;*/
  7. public UserController() {
  8. this.userList = new ArrayList<>();//初始化userlist
  9. }
  10. @RequestMapping(value = "/register",method = RequestMethod.GET)
  11. public String registerForm() {
  12. return "/user/registerForm";
  13. }
  14. @RequestMapping(value = "/register",method = RequestMethod.POST)
  15. public String register(@RequestParam("loginname") String loginname,
  16. @RequestParam("username") String username,
  17. @RequestParam("password") String password) {
  18. User user = new User();
  19. user.setLoginame(loginname);
  20. user.setUsername(username);
  21. user.setPassword(password);
  22. //存储user信息
  23. userList.add(user);
  24. //跳转页面到登录页面
  25. return "/user/loginForm";
  26. }
  27. @RequestMapping(value = "login")
  28. public String login(@RequestParam("loginname") String loginname,
  29. @RequestParam("password") String password,
  30. Model model) {
  31. //到集合中查询用户是否存在
  32. for (User user : userList){
  33. if (user.getLoginame().equals(loginname)&& user.getPassword().equals(password)){
  34. model.addAttribute("user",user);
  35. return "/user/welcome";
  36. }
  37. }
  38. return "/user/loginForm";
  39. }
  40. }//end
  41. UserController类的代码解释如下:
  42. 1.UserController类使用@Controller注解,是一个控制器类
  43. 2.UserController类上面使用了@RequestMapping(value="/user")的注解,表示控制器处理的所有请求都被映射到user路径下。
  44. 3.没有使用数据库来储存用户的注册信息,所以定义了一个静态List类集合userList来代替数据库存储信息。
  45. 4.registerForm方法使用了@RequestMappingvalue=“/register”,method=RequestMethod.GET)注解,表示该方法的请求为:http://localhost:8080/user/register,并且只支持GET请求,该方法返回的字符串“registerForm”,参考dispatcher-servlet.xml中的配置信息,可以知道该方法只是跳转到registerForm.jsp注册页面。
  46. 5.register方法使用了@RequestMappingvalue=“/register”,method=RequestMethod.POST)注解,表示该方法的请求为:http://localhost:8080/user/register,并且只支持POST请求。该方法使用@requestParam注解将指定的请求参数赋值给方法中的形参,之后创建一个user对象保存用户传递的注册信息,最后将user对象存储到userList集合当中,之后的登录页面就可以到userList集合当中进行用户登录业务的逻辑判断,该方法返回字符串“loginForm”,并跳转到loginForm.jsp页面。
  47. 6.login方法使用了@RequestMapping(“/login”)注解,表示该方法映射的请求为:http://localhost:8080/user/login,这里没有设置method属性,表示支持所有方式的请求。该方法用@RequestParam注解将指定地点请求参数赋值给方法中的形参,之后到集合中查找用户是否存在,此处用来模拟数据库验证,login方法中还有一个参数Model对象,调用该对象的addAttribute方法可以将数据添加到request中,最后,如果用户登录成功,则返回字符串“welcome”,并跳转到welcome.jsp欢迎界面,登录失败则返回字符串“loginForm”,并跳转到loginForm.jsp登录界面。
  48. 3】创建registerForm.jsp文件,路径为:web\WEB-INF\jsp\user\registerForm.jsp
  49. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  50. <html>
  51. <head>
  52. <title>注册页面</title>
  53. </head>
  54. <body>
  55. <form action="register" method="post">
  56. <table>
  57. <tr>
  58. <td><label>登录名:</label></td>
  59. <td><input type="text" id="loginname" name="loginname"> </td>
  60. </tr>
  61. <tr>
  62. <td><label>密码:</label></td>
  63. <td><input type="password" id="password" name="password"> </td>
  64. </tr>
  65. <tr>
  66. <td><label>真实姓名:</label></td>
  67. <td><input type="text" id="username" name="username"> </td>
  68. </tr>
  69. <tr>
  70. <td><input type="submit" id="submit" value="注册"> </td>
  71. </tr>
  72. </table>
  73. </form>
  74. </body>
  75. </html>
  76. 4】创建loginForm.jsp文件,路径为:web\WEB-INF\jsp\user\loginForm.jsp
  77. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  78. <html>
  79. <head>
  80. <title>登录界面</title>
  81. </head>
  82. <body>
  83. <form action="login" method="post">
  84. <table>
  85. <tr>
  86. <td><label>登录名:</label></td>
  87. <td><input type="text" id="loginname" name="loginname"> </td>
  88. </tr>
  89. <tr>
  90. <td><label>密码:</label></td>
  91. <td><input type="password" id="password" name="password"> </td>
  92. </tr>
  93. <tr>
  94. <td><input type="submit" id="submit" value="登录"> </td>
  95. </tr>
  96. </table>
  97. </form>
  98. </body>
  99. </html>
  100. 5】创建welcome.jsp文件,路径为:web\WEB-INF\jsp\user\welcome.jsp
  101. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  102. <html>
  103. <head>
  104. <title>欢迎界面</title>
  105. </head>
  106. <body>
  107. <h1>欢迎${requestScope.user.username}</h1>
  108. </body>
  109. </html>

最后,部署这个web应用,在浏览器中输入如下URL:http://localhost:8080/user/register。自行测试即可。效果将于文章开头提及的效果一样。

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读

    相关 IDEA创建SpringMVC+Gradle项目

        网上找了很多关于IDEA创建Spring+Gradle的项目,可能这个东西有点太基础了吧,很多东西都是一笔带过,所以找了很多才理解过来,我也算是初学,就记录下来,这是我