关于Spring+SpringMVC+MyBatis+Mysql+Maven实现简易的登录操作(详细)
2020-01-14 08:28
429 查看
环境:jdk1.8 Tomcat8.5
文件的结构
1、pom.xml配置文件
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SSM-Login</groupId> <artifactId>SSM-Login</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.5.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.5.RELEASE</version> </dependency> <!-- MySQL驱动连接 --> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <!-- spring mvc json支持包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.8</version> </dependency> <!-- log4j配置文件 --> <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.11.2</version> </dependency> <!-- servlet API配置 --> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <!-- spring与mybatis整合所需要的配置 --> <!-- spring-mybatis的配置 --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.0</version> </dependency> <!-- 配置数据源(Druid) --> <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.14</version> </dependency> <!-- 配置mybatis --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.0</version> </dependency> <!-- AOP第三方依赖 --> <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.2</version> </dependency> <!-- spring事务支持包 --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.1.5.RELEASE</version> </dependency> <!-- spring-jdbc包配置 --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.5.RELEASE</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
2、web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>SSM-Login</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 默认过滤器配置 --> <filter> <filter-name>encodingFilter</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring监听器负责自动加载spring根容器及其配置文件spring根容器管理业务层和持久层对象 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mybatis.xml</param-value> </context-param> <!-- spring前端控制器(实际上是一个servlet,是一个总控制器), 负责加载管理控制层对象(如:Controller 业务控制器)的spring容器及其配置文件 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
3、spring-servlet.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:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 把某个包中有注解的类扫描到程序中 --> <context:component-scan base-package="com.tnr.controller" /> <!-- 启用注解 --> <mvc:annotation-driven/> <!-- 默认对静态资源的访问 --> <mvc:default-servlet-handler/> <!-- 配置根视图 --> <mvc:view-controller path="/" view-name="redirect:/login"/> </beans>
4、spring-mybatis.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" 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/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <context:component-scan base-package="com.tnr.service"></context:component-scan> <!-- 配置Druid数据源(德鲁伊) --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="jdbc:mysql://localhost:3306/user" /> <property name="username" value="root" /> <property name="password" value="root" /> <property name="filters" value="stat" /> <property name="maxActive" value="20" /> <property name="initialSize" value="1" /> <property name="maxWait" value="60000" /> <property name="minIdle" value="1" /> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="validationQuery" value="select 1" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="poolPreparedStatements" value="true" /> <property name="maxOpenPreparedStatements" value="20" /> <property name="asyncInit" value="true" /> </bean> <!-- 配置SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath*:mybatis/mappers/**/*.xml" /> </bean> <!-- 配置映射器扫描 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.tnr.mapper" /> </bean> <!-- 配置事务管理器 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 配置事务通知 ;事务通知与事务管理器中的id和transaction-manager名称必须一样 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <!-- the transactional semantics... --> <tx:attributes> <!-- all methods starting with 'get' are read-only --> <tx:method name="get*" read-only="true" /> <!-- other methods use the default transaction settings (see below) --> <tx:method name="*" rollback-for="com.lang.Exception" timeout="30" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <!-- 配置事务切面(切接口) --> <aop:config> <aop:pointcut id="serviceCut" expression="execution(* com.tnr.service.*Service.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceCut" /> </aop:config> </beans>
5、log4j2.xml配置
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> </Console> </Appenders> <Loggers> <Logger additivity="false" name="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" level="trace"> <AppenderRef ref="Console" /> </Logger> <Root level="debug"> <AppenderRef ref="Console" /> </Root> </Loggers> </Configuration>
6、db.properties配置(数据库)
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/+“数据库库名” jdbc.user=数据库用户名 jdbc.password=数据库密码
7、login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录界面</title> </head> <body> <body> <form method="post" action="login"> <table> <tr> <td>用户名:<input type="text" name="u_id" id="userName"></td> </tr> <tr> <td>密码:<input type="password" name="u_pwd" id="password"></td> </tr> <tr> <td> <input type="submit" value="登录" style="background-color: pink"> <input type="reset" value="重置" style="background-color: red"> </td> </tr> </table> </form> </body> </body> </html>
8、LoginController.java
package com.tnr.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.tnr.model.User; import com.tnr.service.LoginService; @Controller public class LoginController { @Autowired private LoginService loginService; @RequestMapping("/login") public String LoginDo(User user) { User us= loginService.checkLogin(user); if(us==null) { System.out.println(">>>>"); return "/login.jsp"; }else { System.out.println("<<<<<<"); return "redirect:/index.jsp"; } } }
9、LoginService.java
package com.tnr.service; import org.springframework.stereotype.Service; import com.tnr.model.User; @Service public interface LoginService { User checkLogin(User user); }
10、LoginServiceImpl.java
package com.tnr.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.tnr.mapper.UserMapper; import com.tnr.model.User; import com.tnr.service.LoginService; @Service @Transactional public class LoginServiceImpl implements LoginService { @Autowired private UserMapper usermapper; @Override public User checkLogin(User user) { return usermapper.Login(user); } }
11、实体类User.java
package com.tnr.model; public class User { private String u_id; private String u_name; private String u_pwd; public String getU_id() { return u_id; } public void setU_id(String u_id) { this.u_id = u_id; } public String getU_name() { return u_name; } public void setU_name(String u_name) { this.u_name = u_name; } public String getU_pwd() { return u_pwd; } public void setU_pwd(String u_pwd) { this.u_pwd = u_pwd; } @Override public String toString() { return "User [u_id=" + u_id + ", u_name=" + u_name + ", u_pwd=" + u_pwd + "]"; } }
12、UserMapper.java
package com.tnr.mapper; import org.apache.ibatis.annotations.Select; import com.tnr.model.User; public interface UserMapper { @Select("select * from us where u_id=#{u_id} and u_pwd=#{u_pwd}") public User Login(User user); }
————————————————
版权声明:本文为CSDN博主「Molly-hu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 关于Spring+SpringMVC+MyBatis+Mysql+Maven实现简易的登录操作(详细)
- 关于Spring+Mybatis+Oracle/MySQL+SpringMVC+MAVEN架构的简易登录
- springmvc学习总结(二) -- maven+springmvc+spring+mybatis+mysql详细搭建整合过程讲解
- springmvc+spring+mybatis+maven+mysql项目(二)Springmvc + ajax 实现javaweb验证码的制作及进行异步验证
- Maven + Spring MVC+Mybatis + MySQL +AngularJS + Bootstrap 实现简单微博应用(二)访问数据库
- spring+springmvc+mybatis+mysql实现登录功能(上)
- Maven + Spring MVC+Mybatis + MySQL +AngularJS + Bootstrap 实现简单微博应用(三)前后台交互
- SSM框架超级详细整合记录:Spring+Spring MVC+MyBatis+Maven+MySQL
- Maven + Spring MVC+Mybatis + MySQL +AngularJS + Bootstrap 实现简单微博应用(一)环境搭建
- spring+springmvc+mybatis+mysql实现登录功能(下)
- maven+springMVC+mybatis+junit详细搭建过程
- Spring MVC+Mybatis+Maven+Velocity+Mysql整合实例
- maven+springMVC+mybatis+junit详细搭建过程
- 通过逆向过程构建Springmvc+mybatis+maven+mysql
- SpringMVC+Spring+Mybatis+Maven+mysql整合
- maven+springMVC+mybatis+junit详细搭建过程
- maven+springMVC+mybatis+junit详细搭建过程 【转】
- Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
- springmvc+mybatis+sql server实现简单登录功能
- SpringMVC+Mybatis框架整合java源码 maven mysql