刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能。

目录

项目结构图

持久层相关配置文件 applicationContext-dao.xml

applicationContext-service.xml

jdbc.properties

spring-mvc.xml

web.xml

1.先写一个User.java

2.写一个接口UserMapper.java

3.在写一个UserMapper.xml与之相关联

4.接下来就是Service层了,先写一个接口:UserService.java,内容与UserMapper.java一样,这里就不再展示了。

5.然后写一个类实现UserService.java,代码比较简单,不做过多解释,大家不要忘了要给给它标记@Service

UserController.java

登录页面 log.jsp

登录成功和失败页面 logok.jsp 和 logno.jsp

最后就是注册页面了 reg.jsp

注册成功和失败页面 regok.jsp 和regno.jsp


在数据库中新建user表:

项目结构图

有几个主要的配置文件,先了解下每个配置文件的作用。

1. web.xml:当服务启动时首先会去加载web.xml这个资源文件,里面包括了对前端控制器、乱码问题等配置。

2.applicatonContext.xml : 一般配置数据源,事物,注解 等。

在这里我使用的是applicatonContext-*.xml的形式将DAO层、Service层、分开配置,这样便于管理

分别为applicatonContext-dao.xml、applicatonContext-service.xml、

分开配置时,需要在web.xml中配置上下文位置

3.springmvc.xml: 里面配置的是控制层的 ,如视图解析器静态资源、配置注解驱动 。

持久层相关配置文件 applicationContext-dao.xml

applicationContext-service.xml

jdbc.properties

mysql.driver=com.mysql.cj.jdbc.Drivermysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=falsemysql.username=rootmysql.password=root

spring-mvc.xml

<!---->

web.xml

index.jspindex.htmlcontextConfigLocationclasspath:application-*.xmlorg.springframework.web.context.ContextLoaderListenerDispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1DispatcherServlet/ CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilterencodingUTF-8CharacterEncodingFilter/*

配置文件写好了,接下来就开始写代码

先从实体类开始写:

1.先写一个User.java

package com.sq.pojo;public class User {private String username;private String userpwd;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpwd() {return userpwd;}public void setUserpwd(String userpwd) {this.userpwd = userpwd;}@Overridepublic String toString() {return "User [username=" + username + ", userpwd=" + userpwd + "]";}}

2.写一个接口UserMapper.java

package com.sq.dao;import com.sq.pojo.User;public interface UserMapper {//用户登录User findOne(User user);//用户注册int addOne(User user);//注册时的重名检测User checkReg(String username);}

3.在写一个UserMapper.xml与之相关联

SELECT * FROM user where username=#{username} and userpwd=#{userpwd}insert into user(username,userpwd) values(#{username},#{userpwd})select * from user where username=#{username}

4.接下来就是Service层了,先写一个接口:UserService.java,内容与UserMapper.java一样,这里就不再展示了。

5.然后写一个类实现UserService.java,代码比较简单,不做过多解释,大家不要忘了要给给它标记@Service

package com.sq.service.Impl;import com.sq.service.UserService;import org.springframework.stereotype.Service;import com.sq.dao.UserMapper;import com.sq.pojo.User;import javax.annotation.Resource;@Servicepublic class UserServiceImpl implements UserService {@Resourceprivate UserMapper userMapper;@Overridepublic User findOne(User user) {return userMapper.findOne(user);}@Overridepublic int addOne(User user) { return userMapper.addOne(user);}@Overridepublic User checkReg(String username) {return userMapper.checkReg(username);}}

6.最后就是Controller层了,Controller层的代码主要是调用Service层实现的方法,实现一些操作,并与前端进行交互。

UserController.java

package com.sq.controller;import com.sq.pojo.User;import com.sq.service.UserService;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import javax.annotation.Resource;@Controllerpublic class UserController {@Resourceprivate UserService userService;@RequestMapping("/golog")public String log(User user, Model model) {User u = userService.findOne(user);model.addAttribute("user", u);if (u != null) {return "logok";} elsereturn "logno";}@RequestMapping("/goreg")public String reg(User user) {User u = userService.checkReg(user.getUsername());if (u == null) {userService.addOne(user);return "regok";}return "regno";}}

登录页面 log.jsp

用户登录div {width: 300px;height: 200px;margin-left: auto;margin-right: auto;}
用户名:
密 码:
还没有账号?点此注册

登录成功和失败页面 logok.jsp 和 logno.jsp

Insert title here

如果你能看见我,说明你成功了


您的用户名是:${user.username}
您的密码是:${user.userpwd}
Insert title here

用户名或者密码错误

最后就是注册页面了 reg.jsp

用户注册div {width: 300px;height: 200px;margin-left: auto;margin-right: auto;}
用户名:
密 码:

注册成功和失败页面 regok.jsp 和regno.jsp

Insert title here

注册成功如果你能看见我,说明你成功了


点此返回登录界面Insert title here

该用户名已被注册