当前位置: 首页 > news >正文

做外国的网站卖东西/厦门谷歌推广

做外国的网站卖东西,厦门谷歌推广,通用cms网站,公司内部网站维护本栏博客目录一、Spring的IOC和DI 二、IoC和DI注解开发 三、SpringMVC入门 四、SpringMVC的请求和响应 五、JdbcTemplate 六、Spring练习 七、SpringMVC拦截器 八、SpringMVC异常处理机制 九、面向切面编程AOP 十、声明式事务控制 十一、MyBatis入门操作 十二、MyBatis的Dao层实…

本栏博客目录

一、Spring的IOC和DI
二、IoC和DI注解开发
三、SpringMVC入门
四、SpringMVC的请求和响应
五、JdbcTemplate
六、Spring练习
七、SpringMVC拦截器
八、SpringMVC异常处理机制
九、面向切面编程AOP
十、声明式事务控制
十一、MyBatis入门操作
十二、MyBatis的Dao层实现方式
十三、MyBatis映射文件深入
十四、MyBatis核心配置文件深入
十五、MyBatis的多表操作
十六、Mybatis的注解开发
十七、SSM框架整合


文章目录

  • Spring练习环境搭建
    • Spring环境搭建步骤
    • 用户和角色的关系
  • 角色列表的展示和添加操作
    • 角色列表的展示效果
    • 角色列表的展示步骤分析
  • 角色添加的效果
  • 角色添加的步骤分析
  • 用户列表的展示和添加操作
    • 用户列表的展示效果
    • 用户列表的展示步骤分析
    • 用户添加的效果
    • 用户添加的步骤分析
    • 删除用户的效果
    • 删除用户的步骤分析
  • 项目情况
    • 依赖
    • sql 语句创建表
    • 项目结构
    • resources 下的配置文件
    • web.xml
    • java文件
      • controller
      • dao
        • impl
      • domain
      • interceptor
      • service
        • impl


Spring练习环境搭建

Spring环境搭建步骤

① 创建工程(Project&Module)
② 导入静态页面(jsp页面)
③ 导入需要坐标(pom.xml)
④ 创建包结构(controller、service、dao、domain、utils)
⑤ 导入数据库脚本(见资料test.sql)
⑥ 创建POJO类(见资料User.java和Role.java)
⑦ 创建配置文件(applicationContext.xml、spring-mvc.xml、jdbc.properties、log4j.properties)

用户和角色的关系

在这里插入图片描述

角色列表的展示和添加操作

角色列表的展示效果

在这里插入图片描述

角色列表的展示步骤分析

① 点击角色管理菜单发送请求到服务器端(修改角色管理菜单的url地址)
② 创建RoleController和showList()方法
③ 创建RoleService和showList()方法
④ 创建RoleDao和findAll()方法
⑤ 使用JdbcTemplate完成查询操作
⑥ 将查询数据存储到Model中
⑦ 转发到role-list.jsp页面进行展示

角色添加的效果

在这里插入图片描述

角色添加的步骤分析

① 点击列表页面新建按钮跳转到角色添加页面
② 输入角色信息,点击保存按钮,表单数据提交服务器
③ 编写RoleController的save()方法
④ 编写RoleService的save()方法
⑤ 编写RoleDao的save()方法
⑥ 使用JdbcTemplate保存Role数据到sys_role
⑦ 跳转回角色列表页面

用户列表的展示和添加操作

用户列表的展示效果

在这里插入图片描述

用户列表的展示步骤分析

① 点击用户管理菜单发送请求到服务器端(修改用户管理菜单的url地址)
② 创建RoleController和showList()方法
③ 创建RoleService和showList()方法
④ 创建RoleDao和findAll()方法
⑤ 使用JdbcTemplate完成查询操作
⑥ 将查询数据存储到Model中
⑦ 转发到user-list.jsp页面进行展示

用户添加的效果

在这里插入图片描述

用户添加的步骤分析

① 点击列表页面新建按钮跳转到角色添加页面
② 输入角色信息,点击保存按钮,表单数据提交服务器
③ 编写RoleController的save()方法
④ 编写RoleService的save()方法
⑤ 编写RoleDao的save()方法
⑥ 使用JdbcTemplate保存Role数据到sys_role
⑦ 跳转回角色列表页面

删除用户的效果

在这里插入图片描述

删除用户的步骤分析

① 点击用户列表的删除按钮,发送请求到服务器端
② 编写UserController的deleteById()方法
③ 编写UserService的deleteById()方法
④ 编写UserDao的deleteById()方法
⑤ 编写UserDao的deleteRelByUid()方法
⑥ 跳回当前用户列表页面

项目情况

依赖

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><packaging>war</packaging><name>spring_test</name><groupId>com.lzjtu</groupId><artifactId>spring_test</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.32</version></dependency><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.2.1</version><scope>provided</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.3</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.7</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.0.5.RELEASE</version></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency></dependencies></project>

sql 语句创建表

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.7.24-log : Database - test
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `test`;/*Table structure for table `sys_role` */DROP TABLE IF EXISTS `sys_role`;CREATE TABLE `sys_role` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`roleName` varchar(50) DEFAULT NULL,`roleDesc` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;/*Data for the table `sys_role` */insert  into `sys_role`(`id`,`roleName`,`roleDesc`) values (1,'院长','负责全面工作'),(2,'研究员','课程研发工作'),(3,'讲师','授课工作'),(4,'助教','协助解决学生的问题');/*Table structure for table `sys_user` */DROP TABLE IF EXISTS `sys_user`;CREATE TABLE `sys_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`username` varchar(50) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`password` varchar(80) DEFAULT NULL,`phoneNum` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;/*Data for the table `sys_user` */insert  into `sys_user`(`id`,`username`,`email`,`password`,`phoneNum`) values (1,'zhangsan','zhangsan@itcast.cn','123','13888888888'),(2,'lisi','lisi@itcast.cn','123','13999999999'),(3,'wangwu','wangwu@itcast.cn','123','18599999999');/*Table structure for table `sys_user_role` */DROP TABLE IF EXISTS `sys_user_role`;CREATE TABLE `sys_user_role` (`userId` bigint(20) NOT NULL,`roleId` bigint(20) NOT NULL,PRIMARY KEY (`userId`,`roleId`),KEY `roleId` (`roleId`),CONSTRAINT `sys_user_role_ibfk_1` FOREIGN KEY (`userId`) REFERENCES `sys_user` (`id`),CONSTRAINT `sys_user_role_ibfk_2` FOREIGN KEY (`roleId`) REFERENCES `sys_role` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;/*Data for the table `sys_user_role` */insert  into `sys_user_role`(`userId`,`roleId`) values (1,1),(1,2),(2,2),(2,3);/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

项目结构

在这里插入图片描述

在这里插入图片描述

resources 下的配置文件

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--    加载jdbc.properties--><context:property-placeholder location="classpath:jdbc.properties" /><!--    数据源--><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}" /><property name="jdbcUrl" value="${jdbc.url}" /><property name="user" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></bean><!--    配置JdbcTemplate对象--><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource" /></bean><!--    配置RoleDao--><bean id="roleDao" class="com.lzjtu.dao.impl.RoleDaoImpl"><property name="jdbcTemplate" ref="jdbcTemplate" /></bean><!--    配置RoleService--><bean id="roleService" class="com.lzjtu.service.impl.RoleServiceImpl"><property name="roleDao" ref="roleDao" /></bean><!--    配置UserDao--><bean id="userDao" class="com.lzjtu.dao.impl.UserDaoImpl" ><property name="jdbcTemplate" ref="jdbcTemplate" /></bean><!--    配置UserService--><bean id="userService" class="com.lzjtu.service.impl.UserServiceImpl" ><property name="userDao" ref="userDao" /><property name="roleDao" ref="roleDao" /></bean>
</beans>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><!--    mvc注解驱动--><mvc:annotation-driven /><!--    配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/pages/" /><property name="suffix" value=".jsp" /></bean><!--    静态资源权限开放--><mvc:default-servlet-handler /><!--    组件扫描 扫描Controller--><context:component-scan base-package="com.lzjtu.controller" /><!--    配置权限拦截器--><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/>
<!--            配置哪些资源排除拦截操作--><mvc:exclude-mapping path="/user/login"/><bean class="com.lzjtu.interceptor.PrivilegeInterceptor" /></mvc:interceptor></mvc:interceptors></beans>

jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!--    解决乱码的过滤器--><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--    全局的初始化参数--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><!--    Spring的监听器--><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--    SpringMVC的前端控制器--><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

java文件

在这里插入图片描述

controller

RoleController

package com.lzjtu.controller;import com.lzjtu.domain.Role;
import com.lzjtu.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import java.util.List;@Controller
@RequestMapping("/role")
public class RoleController {@Autowiredprivate RoleService roleService;@RequestMapping("/list")public ModelAndView list(){ModelAndView modelAndView = new ModelAndView();List<Role> roleList = roleService.list();// 设置模型modelAndView.addObject("roleList", roleList);// 设置视图modelAndView.setViewName("role-list");return modelAndView;}@RequestMapping("/save")public String save(Role role){roleService.save(role);return "redirect:/role/list";}
}

UserController

package com.lzjtu.controller;import com.lzjtu.domain.Role;
import com.lzjtu.domain.User;
import com.lzjtu.service.RoleService;
import com.lzjtu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpSession;
import java.util.List;@Controller
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate RoleService roleService;@RequestMapping("/login")public String login(String username, String password, HttpSession session){User user = userService.login(username, password);if(user != null){// 将user存储到sessionsession.setAttribute("user", user);return "redirect:/index.jsp";}return "redirect:/login.jsp";}@RequestMapping("/del/{userId}")public String del(@PathVariable("userId") Long userId){userService.del(userId);return "redirect:/user/list";}@RequestMapping("/save")public String save(User user, Long[] roleIds){userService.save(user, roleIds);return "redirect:/user/list";}@RequestMapping("/saveUI")public ModelAndView saveUI(){ModelAndView modelAndView = new ModelAndView();List<Role> roleList = roleService.list();modelAndView.addObject("roleList", roleList);modelAndView.setViewName("user-add");return modelAndView;}@RequestMapping("/list")public ModelAndView list(){List<User> userList = userService.list();ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("userList", userList);modelAndView.setViewName("user-list");return modelAndView;}
}

dao

RoleDao.java

package com.lzjtu.dao;import com.lzjtu.domain.Role;import java.util.List;public interface RoleDao {List<Role> findAll();void save(Role role);List<Role> findRoleByUserId(Long id);
}

UserDao.java

package com.lzjtu.dao;import com.lzjtu.domain.User;import java.util.List;public interface UserDao {List<User> findAll();Long save(User user);void saveUserRoleRel(Long id, Long[] roleIds);void delUserRoleRel(Long userId);void del(Long userId);User findByUsernameAndPassword(String username, String password);
}

impl

RoleDaoImpl.java

package com.lzjtu.dao.impl;import com.lzjtu.dao.RoleDao;
import com.lzjtu.domain.Role;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;import java.util.List;public class RoleDaoImpl implements RoleDao {JdbcTemplate jdbcTemplate;public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}public List<Role> findAll() {String sql = "select * from sys_role";List<Role> roleList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<Role>(Role.class));return roleList;}public void save(Role role) {String sql = "insert into sys_role value(?, ?, ?)";jdbcTemplate.update(sql, null, role.getRoleName(), role.getRoleDesc());}public List<Role> findRoleByUserId(Long id) {String sql = "select * from sys_user_role ur, sys_role r where ur.roleId=r.id and ur.userId=?";List<Role> roles = jdbcTemplate.query(sql, new BeanPropertyRowMapper<Role>(Role.class), id);return roles;}
}

UserDaoImpl.java

package com.lzjtu.dao.impl;import com.lzjtu.dao.UserDao;
import com.lzjtu.domain.User;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.support.GeneratedKeyHolder;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;public class UserDaoImpl implements UserDao {private JdbcTemplate jdbcTemplate;public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}public List<User> findAll() {String sql = "select * from sys_user";List<User> userList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class));return userList;}public Long save(final User user) {// 创建 PreparedStatementCreatorPreparedStatementCreator creator = new PreparedStatementCreator() {public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {// 使用原始的jdbc完成一个PreparedStatement的组建PreparedStatement preparedStatement = connection.prepareStatement("insert into sys_user values(?,?,?,?,?)", PreparedStatement.RETURN_GENERATED_KEYS);preparedStatement.setObject(1, null);preparedStatement.setString(2, user.getUsername());preparedStatement.setString(3, user.getEmail());preparedStatement.setString(4, user.getPassword());preparedStatement.setString(5, user.getPhoneNum());return preparedStatement;}};// 创建keyHolderGeneratedKeyHolder keyHolder = new GeneratedKeyHolder();jdbcTemplate.update(creator, keyHolder);// 获得生成的主键long userId = keyHolder.getKey().longValue();//        String sql = "insert into sys_user values(?,?,?,?,?)";
//        jdbcTemplate.update(sql, null, user.getUsername(), user.getEmail(), user.getPassword(), user.getPhoneNum());return userId;  // 返回当前保存用户的id, 该id是数据库自动生成的}public void saveUserRoleRel(Long userId, Long[] roleIds) {String sql = "insert into sys_user_role values(?,?)";for (Long roleId: roleIds){jdbcTemplate.update(sql, userId, roleId);}}public void delUserRoleRel(Long userId) {String sql = "delete from sys_user_role where userId=?";jdbcTemplate.update(sql, userId);}public void del(Long userId) {String sql = "delete from sys_user where id=?";jdbcTemplate.update(sql, userId);}public User findByUsernameAndPassword(String username, String password) throws EmptyResultDataAccessException {String sql = "select * from sys_user where username=? and password=?";User user = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), username, password);return user;}
}

domain

Role.java

package com.lzjtu.domain;public class Role {private Long id;private String roleName;private String roleDesc;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public String getRoleDesc() {return roleDesc;}public void setRoleDesc(String roleDesc) {this.roleDesc = roleDesc;}@Overridepublic String toString() {return "Role{" +"id=" + id +", roleName='" + roleName + '\'' +", roleDesc='" + roleDesc + '\'' +'}';}
}

User.java

package com.lzjtu.domain;import java.util.List;public class User {private Long id;private String username;private String email;private String password;private String phoneNum;// 当前用户具备哪些角色private List<Role> roles;public List<Role> getRoles() {return roles;}public void setRoles(List<Role> roles) {this.roles = roles;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}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;}public String getPhoneNum() {return phoneNum;}public void setPhoneNum(String phoneNum) {this.phoneNum = phoneNum;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", email='" + email + '\'' +", password='" + password + '\'' +", phoneNum='" + phoneNum + '\'' +'}';}
}

interceptor

PrivilegeInterceptor.java

package com.lzjtu.interceptor;import com.lzjtu.domain.User;
import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class PrivilegeInterceptor implements HandlerInterceptor {public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 判断用户是否登录 判断session中有没有 userHttpSession session = request.getSession();User user = (User) session.getAttribute("user");if(user == null){// 没有登录response.sendRedirect(request.getContextPath()+"/login.jsp");return false;}// 放行return true;}
}

service

RoleService.java

package com.lzjtu.service;import com.lzjtu.domain.Role;import java.util.List;public interface RoleService {List<Role> list();void save(Role role);
}

UserService.java

package com.lzjtu.service;import com.lzjtu.domain.User;import java.util.List;public interface UserService {List<User> list();void save(User user, Long[] roleIds);void del(Long userId);User login(String username, String password);
}

impl

RoleServiceImpl.java

package com.lzjtu.service.impl;import com.lzjtu.dao.RoleDao;
import com.lzjtu.domain.Role;
import com.lzjtu.service.RoleService;import java.util.List;public class RoleServiceImpl implements RoleService {public void setRoleDao(RoleDao roleDao) {this.roleDao = roleDao;}private RoleDao roleDao;public List<Role> list() {List<Role> roleList = roleDao.findAll();return roleList;}public void save(Role role) {roleDao.save(role);}
}

UserServiceImpl.java

package com.lzjtu.service.impl;import com.lzjtu.dao.RoleDao;
import com.lzjtu.dao.UserDao;
import com.lzjtu.domain.Role;
import com.lzjtu.domain.User;
import com.lzjtu.service.UserService;
import org.springframework.dao.EmptyResultDataAccessException;import java.util.List;public class UserServiceImpl implements UserService {private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao = userDao;}private RoleDao roleDao;public void setRoleDao(RoleDao roleDao) {this.roleDao = roleDao;}public List<User> list() {List<User> userList = userDao.findAll();// 封装userList中的每一个User的roles数据for (User user: userList){// 获得user的idLong id = user.getId();// 将id作为参数  查询当前userId对应的Role集合数据List<Role> roles = roleDao.findRoleByUserId(id);user.setRoles(roles);}return userList;}public void save(User user, Long[] roleIds) {// 第一步 向sys_user表中存储数据Long userId = userDao.save(user);// 第二步 向 sys_user_role 关系表中存储多条数据userDao.saveUserRoleRel(userId, roleIds);}public void del(Long userId) {// 删除 sys_user_role 关系表userDao.delUserRoleRel(userId);// 删除 sys_user 表userDao.del(userId);}public User login(String username, String password) {try {User user = userDao.findByUsernameAndPassword(username, password);return user;}catch (EmptyResultDataAccessException e){return null;}}
}
http://www.lbrq.cn/news/1562905.html

相关文章:

  • 网站备案审核需要多久/网络上市场推广
  • 大沥网站设计/账号权重查询入口站长工具
  • 关于做摄影的网站/网站优化推广服务
  • 如何安装wordpress手机站导航/重庆seo网站收录优化
  • 影视广告创意拍摄/上海优化网站seo公司
  • 沈阳专业的网站设计公司/网络推广外包公司哪家好
  • 百度网盟 网站定向投放/宁波网站关键词排名推广
  • 做h游戏视频网站有哪些/百度搜索风云榜排名
  • 网站专题策划方案/小说推文万能关键词
  • 深圳设计网站公司网站/下拉框关键词软件
  • 网页界面设计教程视频/seo搜索引擎优化招聘
  • mt7620a做网站/电子商务网站设计方案
  • 怎么搭建自己的网站挣钱/手机网站优化排名
  • wordpress 主题评论/南宁seo网络推广
  • 潜江网站设计公司/如何做网页制作
  • 志愿服务网站建设方案/长春网站seo哪家好
  • 成都住建局官网官网官方/上海seo推广整站
  • 网站配置到iis后读不了数据/在线生成个人网站免费
  • 武汉在建项目一览表/百度seo标题优化软件
  • 科技网站建设分析/补肾壮阳吃什么药效果好
  • 零代码开发/信阳seo推广
  • 国外特效网站/站长工具平台
  • 域名服务器ip/麒麟seo
  • 慈善公益网站建设/建站模板网站
  • 有哪些做网站好的公司好/武汉seo优化排名公司
  • 怎么分析竞争对手网站/网络营销成功案例
  • 做暖暖免费视频网站/新的数据新闻
  • 用css做网站的好处/北京网络营销招聘
  • 代办公司注册流程及材料/seo推广服务
  • b站推广引流最佳方法/seo推广有哪些方式
  • 前端基础知识版本控制系列 - 01( 对版本管理的理解)
  • NAS播放器的新星,一站式全平台媒体库管理工具『Cinemore』体验
  • vue3,使用v-draggable拖动时卡顿的问题
  • Python 类元编程(导入时和运行时比较)
  • 一条n8n工作流
  • InnoDB如何解决脏读、不可重复读和幻读的?