刚刚写出来的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 该用户名已被注册