我是靠谱客的博主 欣喜汽车,最近开发中收集的这篇文章主要介绍【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

先看下要实现的效果。

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

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

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

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

//域对象,实现序列化接口  //set get方法略 
public class User implements Serializable{

    private String loginname;

    private String username;

    private String password;
}


【2】创建UserController.java文件,路径为:srccomtestcontrollerUserController.java

@Controller
@RequestMapping(value="/user")
public class UserController {

    private static List<User> userList;

   /* @Autowired
    private static User user;*/

    public UserController() {
        this.userList = new ArrayList<>();//初始化userlist
    }


    @RequestMapping(value = "/register",method = RequestMethod.GET)
    public String registerForm() {

        return "/user/registerForm";
    }

    @RequestMapping(value = "/register",method = RequestMethod.POST)
    public String register(@RequestParam("loginname") String loginname,
                           @RequestParam("username") String  username,
                           @RequestParam("password") String password) {
        User user = new User();
        user.setLoginame(loginname);
        user.setUsername(username);
        user.setPassword(password);
        //存储user信息
        userList.add(user);
        //跳转页面到登录页面
        return "/user/loginForm";
    }

    @RequestMapping(value = "login")
    public String login(@RequestParam("loginname") String loginname,
                        @RequestParam("password") String password,
                        Model model) {
        //到集合中查询用户是否存在
        for (User user : userList){
            if (user.getLoginame().equals(loginname)&& user.getPassword().equals(password)){
                model.addAttribute("user",user);
                return "/user/welcome";
            }

        }
        return "/user/loginForm";
    }

}//end

UserController类的代码解释如下:
1.UserController类使用@Controller注解,是一个控制器类
2.UserController类上面使用了@RequestMapping(value="/user")的注解,表示控制器处理的所有请求都被映射到user路径下。
3.没有使用数据库来储存用户的注册信息,所以定义了一个静态List类集合userList来代替数据库存储信息。
4.registerForm方法使用了@RequestMapping(value=“/register”,method=RequestMethod.GET)注解,表示该方法的请求为:http://localhost:8080/user/register,并且只支持GET请求,该方法返回的字符串“registerForm”,参考dispatcher-servlet.xml中的配置信息,可以知道该方法只是跳转到registerForm.jsp注册页面。
5.register方法使用了@RequestMapping(value=“/register”,method=RequestMethod.POST)注解,表示该方法的请求为:http://localhost:8080/user/register,并且只支持POST请求。该方法使用@requestParam注解将指定的请求参数赋值给方法中的形参,之后创建一个user对象保存用户传递的注册信息,最后将user对象存储到userList集合当中,之后的登录页面就可以到userList集合当中进行用户登录业务的逻辑判断,该方法返回字符串“loginForm”,并跳转到loginForm.jsp页面。
6.login方法使用了@RequestMapping(“/login”)注解,表示该方法映射的请求为:http://localhost:8080/user/login,这里没有设置method属性,表示支持所有方式的请求。该方法用@RequestParam注解将指定地点请求参数赋值给方法中的形参,之后到集合中查找用户是否存在,此处用来模拟数据库验证,login方法中还有一个参数Model对象,调用该对象的addAttribute方法可以将数据添加到request中,最后,如果用户登录成功,则返回字符串“welcome”,并跳转到welcome.jsp欢迎界面,登录失败则返回字符串“loginForm”,并跳转到loginForm.jsp登录界面。
【3】创建registerForm.jsp文件,路径为:webWEB-INFjspuserregisterForm.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注册页面</title>
</head>
<body>
<form action="register" method="post">
    <table>
        <tr>
            <td><label>登录名:</label></td>
            <td><input type="text" id="loginname" name="loginname"> </td>
        </tr>
        <tr>
            <td><label>密码:</label></td>
            <td><input type="password" id="password" name="password"> </td>
        </tr>
        <tr>
            <td><label>真实姓名:</label></td>
            <td><input type="text" id="username" name="username"> </td>
        </tr>
        <tr>
            <td><input type="submit" id="submit" value="注册"> </td>
        </tr>
    </table>
</form>
</body>
</html>

 

【4】创建loginForm.jsp文件,路径为:webWEB-INFjspuserloginForm.jsp。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录界面</title>
</head>
<body>
<form action="login" method="post">
    <table>
        <tr>
            <td><label>登录名:</label></td>
            <td><input type="text" id="loginname" name="loginname"> </td>
        </tr>
        <tr>
            <td><label>密码:</label></td>
            <td><input type="password" id="password" name="password"> </td>
        </tr>
        <tr>
            <td><input type="submit" id="submit" value="登录"> </td>
        </tr>
    </table>
</form>
</body>
</html>
【5】创建welcome.jsp文件,路径为:webWEB-INFjspuserwelcome.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>欢迎界面</title>
</head>
<body>
    <h1>欢迎${requestScope.user.username}</h1>
</body>
</html>

 

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

最后

以上就是欣喜汽车为你收集整理的【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录的全部内容,希望文章能够帮你解决【SpringMVC-005】idea创建SpringMVC项目傻瓜教程-简单注册登录所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部