sy.html 点击注册,基于SSM框架实现简单的登录注册的示例代码

基于SSM框架实现简单的登录注册的示例代码

发布时间:2020-09-06 14:16:54

来源:脚本之家

阅读:89

作者:涛声依旧~

一、环境配置工程目录

cbe243c4b91c5ca1f9426c759bd8387e.png

在pom.xml添加依赖

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.imooc

userLogin

0.0.1-SNAPSHOT

war

junit

junit

4.11

test

org.slf4j

slf4j-api

1.7.12

ch.qos.logback

logback-core

1.1.1

ch.qos.logback

logback-classic

1.1.1

mysql

mysql-connector-java

5.1.35

runtime

c3p0

c3p0

0.9.1.2

org.mybatis

mybatis

3.3.0

org.mybatis

mybatis-spring

1.2.3

taglibs

standard

1.1.2

jstl

jstl

1.2

com.fasterxml.jackson.core

jackson-databind

2.5.4

javax.servlet

javax.servlet-api

3.1.0

org.springframework

spring-core

4.2.0.RELEASE

org.springframework

spring-beans

4.2.0.RELEASE

org.springframework

spring-context

4.2.0.RELEASE

org.springframework

spring-jdbc

4.2.0.RELEASE

org.springframework

spring-tx

4.2.0.RELEASE

org.springframework

spring-web

4.2.0.RELEASE

org.springframework

spring-webmvc

4.2.0.RELEASE

org.springframework

spring-test

4.2.0.RELEASE

userLogin

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.8

1.8

数据库驱动配置

jdbc.properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mysystem?useUnicode=true&characterEncoding=UTF-8

jdbc.username=root

jdbc.password=kongtao

spring-web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

">

二、具体逻辑实现数据访问对象(DAO接口)

UserDao.java

package com.sy.dao;

import org.apache.ibatis.annotations.Param;

import com.sy.entity.User;

public interface UserDao {

/**

* 查找用户名和密码

* @param username 登录用户名

* @return

*/

User findByUsername(String username);

/**

* 注册用户和密码

*/

void registerByUsernameAndPassword(@Param("username")String username,

@Param("password")String password);

}

UserDao.xml

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

select * from user where username = #{username}

insert into user (username,password)

values (#{username},#{password})

控制器

UserController.java

package com.sy.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 org.springframework.web.bind.annotation.SessionAttributes;

import com.sy.entity.User;

import com.sy.service.UserService;

@Controller

@RequestMapping("/user")

//这里用了@SessionAttributes,可以直接把model中的user(也就key)放入其中

//这样保证了session中存在user这个对象

@SessionAttributes("user")

public class UserController {

@Autowired

private UserService userServivce;

//正常访问login页面

@RequestMapping("/login")

public String login(){

return "login";

}

//表单提交过来的路径

@RequestMapping("/checkLogin")

public String checkLogin(User user,Model model){

//调用service方法

user = userServivce.checkLogin(user.getUsername(), user.getPassword());

//若有user则添加到model里并且跳转到成功页面

if(user != null){

model.addAttribute("user",user);

return "success";

}

return "fail";

}

//测试超链接跳转到另一个页面是否可以取到session值

@RequestMapping("/anotherpage")

public String hrefpage(){

return "anotherpage";

}

//注销方法

@RequestMapping("/outLogin")

public String outLogin(HttpSession session){

//通过session.invalidata()方法来注销当前的session

session.invalidate();

return "login";

}

@RequestMapping("/regist")

public String regist(){

return "regist";

}

@RequestMapping("/doRegist")

public String doRegist(User user,Model model){

System.out.println(user.getUsername());

userServivce.Regist(user);

return "success";

}

}

实体类

package com.sy.entity;

public class User {

private String id;

private String username;

private String password;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

相关服务

UserService.java (接口)

package com.sy.service;

import com.sy.entity.User;

//Service层接口

public interface UserService {

//检验用户登录

User checkLogin(String username,String password);

void Regist(User user);

}

UserServiceImpl.java

package com.sy.service.Impl;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import com.sy.dao.UserDao;

import com.sy.entity.User;

import com.sy.service.UserService;

@Service

public class UserServiceImpl implements UserService{

@Autowired

private UserDao userDao;

/*

* 检验用户登录业务

*

*/

public User checkLogin(String username, String password) {

User user = userDao.findByUsername(username);

if(user != null && user.getPassword().equals(password)){

return user;

}

return null;

}

@Override

public void Regist(User user) {

userDao.registerByUsernameAndPassword(user.getUsername(),user.getPassword());

}

}

其他配置文件

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

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

spring-service.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx.xsd">

logback.xml

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

mybatis-config.xml

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

JSP视图文件

pageEncoding="utf-8"%>

Insert title here
用户名:
密码:

regist.jsp

Created by IntelliJ IDEA.

User: 86265

Date: 2018/1/30

Time: 10:32

To change this template use File | Settings | File Templates.

--%>

用户注册页面
注册页面

用户名
密码

success.jsp

pageEncoding="UTF-8"%>

Insert title here

welcome,${sessionScope.user.username}!

this is success page!

点我跳到另一个页面

fail.jsp

pageEncoding="ISO-8859-1"%>

Insert title here

u are loser,this is a fail page!

anotherpage.jsp

pageEncoding="UTF-8"%>

Insert title here

${sessionScope.user.username}!!!!!

三、运行结果

4678c5b06d4d8cebb368250bc1c5034a.png

01a922499d6ddb0b5b9f98a3b6e38df7.png

87196d8c09c9fc6f7bbe9f999a87c19d.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的基于SSM框架实现用户注册登陆的代码示例,包括了Controller、Service和Mapper层的实现: 1. UserController.java(Controller层) ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/register", method = RequestMethod.POST) public String register(User user, Model model) { boolean result = userService.register(user); if (result) { model.addAttribute("message", "注册成功"); return "login"; } else { model.addAttribute("message", "注册失败"); return "register"; } } @RequestMapping(value = "/login", method = RequestMethod.POST) public String login(String username, String password, Model model, HttpSession session) { User user = userService.login(username, password); if (user != null) { session.setAttribute("user", user); return "redirect:/index"; } else { model.addAttribute("message", "用户名或密码错误"); return "login"; } } @RequestMapping("/logout") public String logout(HttpSession session) { session.removeAttribute("user"); return "redirect:/index"; } } ``` 2. UserService.java(Service层) ```java @Service public class UserService { @Autowired private UserMapper userMapper; public boolean register(User user) { User existUser = userMapper.findByUsername(user.getUsername()); if (existUser != null) { return false; } userMapper.insert(user); return true; } public User login(String username, String password) { User user = userMapper.findByUsername(username); if (user != null && user.getPassword().equals(password)) { return user; } return null; } } ``` 3. UserMapper.xml(Mapper层) ```xml <mapper namespace="com.example.mapper.UserMapper"> <resultMap id="UserResultMap" type="com.example.entity.User"> <id property="id" column="id" /> <result property="username" column="username" /> <result property="password" column="password" /> </resultMap> <select id="findByUsername" resultMap="UserResultMap"> SELECT * FROM user WHERE username = #{username} </select> <insert id="insert" parameterType="com.example.entity.User"> INSERT INTO user (username, password) VALUES (#{username}, #{password}) </insert> </mapper> ``` 其中,User类包含了id、username和password属性。以上代码仅供参考,具体实现可能会因为业务需求的不同而有所变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值