新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

SSM框架下如何实现登录注册

小编这次要给大家分享的是SSM框架下如何实现登录注册,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

创新互联是一家专注网站建设、网络营销策划、小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十多年以来,已经为1000+砂岩浮雕各业的企业公司提供互联网服务。现在,服务的1000+客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

基本配置:jdk1.8   tomcat 8  MyEclipse

先打好地基:

SSM框架下如何实现登录注册

spring配置文件 application.xml:

<?xml version="1.0" encoding="UTF-8"?>

 
 
 
 
 
 
 
 
  com.microsoft.sqlserver.jdbc.SQLServerDriver
 
 
 
  jdbc:sqlserver://localhost:1433;DatabaseName=Organic
  
 
 
 
  sa
 
 
 
  123456
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

springMVC配置文件 :

<?xml version="1.0" encoding="UTF-8"?>

    
    
    
    
    
    
    
    
    
    
  
    
    
    
  
    

web.xml 配置:

<?xml version="1.0" encoding="UTF-8"?>

 OrganicShopWithSSM
 
  index.html
  index.htm
  index.jsp
  default.html
  default.htm
  default.jsp
 
 
 
 
 contextConfigLocation
 classpath:applicationContext.xml
 
 
 
    org.springframework.web.context.ContextLoaderListener
  
 
 
 
 mvc-dispatcher
 org.springframework.web.servlet.DispatcherServlet
 
 
  contextConfigLocation
  classpath:springMVC.xml
 
 1
 
 
 mvc-dispatcher
 *.do
 
 
 
 
 
 CharacterEncodingFilter
 org.springframework.web.filter.CharacterEncodingFilter
 
  encoding
  UTF-8
 
 
 
 CharacterEncodingFilter
 /*
 

开始第一层啦:

pojo包:UserInfo 类

package pojo;
 
public class UserInfo {
 private String uid;
 private String name;
 private String email;
 private String password;
 public String getUid() {
  return uid;
 }
 public void setUid(String uid) {
  this.uid = uid;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 @Override
 public String toString() {
  return "UserInfo [uid=" + uid + ", name=" + name + ", email="
   + email + ", password=" + password + "]";
 } 
}

mapper层:(注意mybatis的xml文件也要放在mapper层)

ShopMapping.java:

其中@Param注解 是为了和xml中的查询参数进行绑定

package mapper;
import org.apache.ibatis.annotations.Param;
import pojo.UserInfo;
public interface ShopMapper {
 public void register(@Param("name")String name,@Param("email")String email,@Param("password")String password);
  public UserInfo login(@Param("email")String email,@Param("password")String password); 
  public int findUser(@Param("email")String email);
 
}

Shop.xml

<?xml version="1.0" encoding="UTF-8"?>

  
  
  
  
  
    
  

service层:其实在写登陆的时候用了int类型,在想登陆也只要在数据库中查询表单输入的数据就行了,在mapper层的xml的文件中也写了 select count(*) 查询个数,  但是结果并不好,因为我要做的还有设置session。

package service;
 
import pojo.UserInfo;
 
public interface ShopService {
 //用户注册
 void regist(String name,String email,String password);
 //用户登录
 UserInfo login(String email,String password);
 //验证
 int findUser(String email); 
}

service实现层:service.Impl

package service.Impl;
 
import mapper.ShopMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pojo.UserInfo;
import service.ShopService;
 
@Service
public class ShopServiceImpl implements ShopService {
 @Autowired
 public ShopMapper sm;
 
 @Override
 public void regist(String name, String email, String password) {
  sm.register(name, email, password);
 }
 
 @Override
 public UserInfo login(String email, String password) {
 UserInfo user=sm.login(email, password);
 if(user!=null &&user.getPassword().equals(password)){
  return user;
 }
 return null;
 
 }
 
 @Override
 public int findUser(String email) {
 if(sm.findUser(email)==0){
  return 0;
 }
 return 1;
 } 
}

controller层:

package controller;
 
import javax.servlet.http.HttpSession;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
import pojo.UserInfo;
import service.ShopService;
 
@Controller
@RequestMapping("")
public class ShopController {
 @Autowired
 public ShopService ss;
 
 @RequestMapping(value = "registerUser", method = RequestMethod.POST)
 public String registerUser(String name, String email, String password) {
 int findUser = ss.findUser(email);
 
 if (findUser == 0) {
  ss.regist(name, email, password);
  // System.out.println("可以注册");
  return "login";
 } else {
  // System.out.println("注册失败");
  return "register";
 }
 }
 
 @RequestMapping(value = "loginUser", method = RequestMethod.POST)
 public String loginUser(UserInfo user, HttpSession session) {
 // 调用service方法
 user = ss.login(user.getEmail(), user.getPassword());
 
 if (user != null) {
  session.setAttribute("u".user);
  return "index";
 }
 return "login";
 
 }
 
 @RequestMapping("/outLogin")
 public String outLogin(HttpSession session){
 session.invalidate();
 return "index";
 
 }
}

在controller层当中,关于注册的格式要求还需要自行搜索一下,主要讲一下的是登陆。在登陆的这个方法中传递了两个形式参数,UserInfo是实体类,HttpSssion是设置session的关键,后面通过session.setAttribute()设置session,这也是在上文中提到的需要session的部分。在后来的注销中可以使用session.invalidate。

看完这篇关于SSM框架下如何实现登录注册的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。


新闻名称:SSM框架下如何实现登录注册
文章网址:http://wjwzjz.com/article/jdhppi.html
在线咨询
服务热线
服务热线:028-86922220
TOP