Spring+SpringMVC+Hiberate+MySql+Bootstrap实现一个简单验证登录实例
来源:互联网 发布:jquery数组清空 编辑:程序博客网 时间:2024/06/08 18:21
本例子结合Spring+SpringMVC+Hiberate+MySql+Bootstrap实现一个简单验证登录实例
1工程目录:
web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Login</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 加载所有的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring/spring-*.xml</param-value> </context-param> <!-- 配置Spring监听 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置SpringMVC --> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring/spring-mvc.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> <!-- 配置字符集 --> <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> <!-- 配置Session --> <filter> <filter-name>openSession</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openSession</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
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: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.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"><!-- 注解扫描包 --><context:component-scan base-package="com.web" /><!-- 开启注解 --><mvc:annotation-driven /><!-- 静态资源(js/image)的访问 --><mvc:resources location="/js/" mapping="/js/**"/><!-- 定义视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean></beans>
spring-beans.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:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 依赖注入 --><bean id="userDao" class="com.dao.UserDaoimpl"><property name="sessionFactory" ref="sessionFactory"></property></bean><bean id="userManagerBase" class="com.manager.ManagerImpl"><property name="userDao" ref="userDao"></property></bean><bean name="manager" parent="transactionProxy"><property name="target" ref="userManagerBase"></property></bean></beans>
spring-common.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:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 配置数据源 --><bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" ><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost/test"></property><property name="username" value="root"></property><property name="password" value="1996112lin"></property></bean><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.hbm2ddl.auto">update</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop></props></property><property name="annotatedClasses"><list><value>com.eneity.User</value></list></property></bean><bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"/></bean><!-- 配置事务,使用代理的方式 --><bean id="transactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> <property name="transactionManager" ref="transactionManager"></property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="modify*">PROPAGATION_REQUIRED,-myException</prop> <prop key="del*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
采用注解实现实体类文件User.java:
import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import org.hibernate.annotations.GenericGenerator;@Entity@Table(name="myuser")public class User {@Id@GeneratedValue(generator="system-uuid")@GenericGenerator(name = "system-uuid",strategy="uuid")@Column(length=32)private String id;@Column(length=32)private String name;@Column(length=32)private String password;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
实体类操作接口UseDao.java:
public interface UserDao {public String check(String name,String password);}
具体实现类UserDaoimpl.java:
import java.util.List;import javax.management.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;public class UserDaoimpl implements UserDao{private SessionFactory sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}@Overridepublic String check(String name, String password) {String hql = "select user.name ,user.password from User as user where user.name='"+name+"' and user.password ='"+password+"'";org.hibernate.Query query = sessionFactory.getCurrentSession().createQuery(hql);List list = query.list(); if (list.size() > 0) {return "ok";}return "no";}}
管理接口Manager.java:
public interface Manager {public String check(String name,String password); }
管理实现类ManagerImpl.java:
import com.dao.UserDao;public class ManagerImpl implements Manager{private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao = userDao;}public String check(String name,String password) {return userDao.check(name, password);}}
控制类Controler.java:
import javax.annotation.Resource;import javax.enterprise.inject.Model;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.dao.UserDao;import com.eneity.User;import com.manager.Manager;@Controller@RequestMapping("/login")public class Controler {@Resourceprivate Manager manager;public void setManager(Manager manager) {this.manager = manager;}@RequestMapping("/check")public String check(User user,org.springframework.ui.Model model) {String string = manager.check(user.getName(), user.getPassword());if (string.equals("ok")) {model.addAttribute("name",user.getName());return "/ok";}return "/no";}}
登录主页面index.jsp(加入了BootStrap实现效果):
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> <title>用户登录</title> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" /> <link rel="stylesheet" href="css/style.css" /> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <style type="text/css"> body { background:url(../img/login_bg_0.jpg) #f8f6e9;}.mycenter{ margin-top: 100px; margin-left: auto; margin-right: auto; height: 350px; width:500px; padding: 5%; padding-left: 5%; padding-right: 5%;}.mycenter mysign{ width: 440px;}.mycenter input,checkbox,button{ margin-top:2%; margin-left: 10%; margin-right: 10%;}.mycheckbox{ margin-top:10px; margin-left: 40px; margin-bottom: 10px; height: 10px;} </style> </head> <body> <form action="/MyLogin/login/check" method="post"> <div class="mycenter"> <div class="mysign"> <div class="col-lg-11 text-center text-info"> <h2>请登录</h2> </div> <div class="col-lg-10"> <input type="text" class="form-control" name="name" placeholder="请输入账户名" required autofocus/> </div> <div class="col-lg-10"></div> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="请输入密码" required autofocus/> </div> <div class="col-lg-10"></div> <div class="col-lg-10 mycheckbox checkbox"> <input type="checkbox" class="col-lg-1">记住密码</input> </div> <div class="col-lg-10"></div> <div class="col-lg-10"> <button type="submit" class="btn btn-success col-lg-12">登录</button> </div> </div> </div> </form> </form> </body></html>
ok.jsp和no.jsp就不给出了,最终实现效果:
0 0
- Spring+SpringMVC+Hiberate+MySql+Bootstrap实现一个简单验证登录实例
- SpringMVC+Spring+mybatis 实现登录过程(使用后台验证框架)
- 简单的Spring Security实例(自定义登录验证)
- springMVC实现简单登录
- springMVC框架(简单登录实例)
- php bootstrap 实现简单登录
- SpringMVC注解实现登录验证
- SpringMVC+Spring Security实现登录认证的简单功能
- Spring+Spring MVC+Spring JDBC+MySql实现简单登录注册
- spring+springmvc+mybatis+mysql实现登录功能(上)
- spring+springmvc+mybatis+mysql实现登录功能(下)
- 用spring+springMvc完成的一个简单的登陆实例
- SpringMVC+Hibernate+Spring 简单的一个整合实例
- Spring+SpringMVC+MyBatis框架一个简单工程的搭建实例
- 实现一个简单的Spring实例
- SpringMVC+mybaits+mysql实现简单的登录注册
- Struts2+mysql登录验证实例
- SpringMVC实现用户登录实例
- C指针
- c/c++学习 No.1 位运算的学习
- Docker基础原理
- POJ 3069 Saruman's Army
- Windows内核编程学习笔记
- Spring+SpringMVC+Hiberate+MySql+Bootstrap实现一个简单验证登录实例
- 打印菱形与空心菱形java
- mapper代理开发方法
- 日期格式化工具类
- Android蓝牙4.0之玩爆智能穿戴、家具(一)
- 士兵杀敌(二)
- Julia分形
- JAVA 第8章jdbc
- 云计算Docker实践