Myeclipse搭建SpringMVC-Spring-hibernate框架

最近的工作需求改了又改,麻烦的狠,就暂停更博,之前一周写的这个框架搭建完成,有点心得,记录一下

之前网上有搭建的这个框架但是是用eclipse,我们今天就用myeclipse搭建一下框架

原文章eclipse搭建链接地址

说明

1.搭建SpringMVC+spring+hibernate的框架,项目结构如图1所示



引用的jar包为Spring3.2.6和Hibernate4,如图2所示


1.配置文件

1.1spring-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.xsd  
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context-3.2.xsd  
    http://www.springframework.org/schema/mvc  
    http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
	default-autowire="byName">
	   <!-- 开启注解,java文件里的@ -->
	   <mvc:annotation-driven/>
	   <!-- 注解扫描包,注意换成自己的路径 -->
	   <context:component-scan base-package="com.lq.controller">
	   <!-- 只扫描@Controller的部分 -->
	      <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
	   </context:component-scan>
	   <!-- 完成请求和注解POJO的映射 -->
	   <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"></bean>
	   <!-- 静态资源(js/image)的访问 ,可添加多个,这样jsp页面才能访问到样式文件和js文件 -->
	   <mvc:resources location="/js/" mapping="/js/**" />
	   <mvc:resources location="/css/" mapping="/css/**" />
	   <mvc:resources location="/img/" mapping="/img/**" />
	   <!-- 处理视图jsp界面,跳转jsp路径需要,自己的jsp放到哪里就要写哪里的路径 -->
	   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	     <property name="prefix" value="/WEB-INF/view/"></property>
	     <property name="suffix" value=".jsp"></property>
	   </bean>
	 <!-- springMVC拦截器 -->
	<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**" />
        <bean class="com.lq.interceptor.SessionIntercptor">
        </bean>
    </mvc:interceptor>
</mvc:interceptors>
	</beans>

1.2spring-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:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        ">
        <!-- 只解析controller之外的注解(即解析Service,dao),避免重复加载导致事物失效  -->
       <context:component-scan base-package="com.lq">
        <!-- annotation为spting-mvc中解析的内容 -->
         <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
       </context:component-scan>
       <!-- 配置数据源 -->
       <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
        <property name="url" value="jdbc:sqlserver://192.168.3.213:1433;databaseName=test"></property>
        <property name="username" value="sa213"></property>
        <property name="password" value="pdwy"></property>
       </bean>
       
       <!-- 配置SeesionFactory -->
       <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!-- packagesToScan 扫描包所在路径(name中的内容其实是个关键字,可以扫描一整个包) -->
        <property name="packagesToScan">
         <list>
           <value>com.lq.entity</value>
         </list>        
        </property>
        <!-- 定义Hibernate的SessionFactory的属性 -->
        <property name="hibernateProperties">
         <props> 
            <!-- 指定数据库方言 -->
          <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
           <!-- 是否根据需要每次自动创建数据库   第一次生成数据库的时候用create,之后换成update,否则内容会清空  -->
          <prop key="hibernate.hbm2ddl.auto">create</prop>
            <!-- 显示Hibernate持久化操作所生成的SQL -->
          <prop key="hibernate.show_sql">true</prop>
           <!-- 将SQL脚本进行格式化后再输出 -->
          <prop key="hibernate.format_sql">true</prop>
          <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
         </props>
        </property>
       </bean>
        <!-- 配置一个事务管理器 -->
        <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
        <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
       <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
         <!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
         <property name="sessionFactory" ref="sessionFactory"></property>
       </bean>
       <!-- 配置事务切面Bean,指定事务管理器 -->
       <tx:advice id="txAdvice" transaction-manager="transactionManager">
         <!-- 用于配置详细的事务语义 -->
         <tx:attributes>
          <!-- 拦截的是下段配置aop里设置的路径,既txPointcut中配置的路径  -->
          <!-- propagation="REQUIRED"事物传播行为 -->
          <tx:method name="save*" propagation="REQUIRED"/>
          <tx:method name="add*" propagation="REQUIRED"/>
          <tx:method name="create*" propagation="REQUIRED"/>
          <tx:method name="insert*" propagation="REQUIRED"/>
          <tx:method name="update*" propagation="REQUIRED"/>
          <tx:method name="merge*" propagation="REQUIRED"/>
          <tx:method name="del*" propagation="REQUIRED"/>
          <tx:method name="remove*" propagation="REQUIRED"/>
          <tx:method name="put*" propagation="REQUIRED"/>
          <tx:method name="use*" propagation="REQUIRED"/>
          <!--hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到 -->
          <tx:method name="get*" propagation="REQUIRED" read-only="true"/>
          <tx:method name="count*" propagation="REQUIRED" read-only="true"/>
          <tx:method name="find*" propagation="REQUIRED" read-only="true"/>
          <tx:method name="list*" propagation="REQUIRED" read-only="true"/>
          <tx:method name="*" propagation="REQUIRED" read-only="true"/>
         </tx:attributes>
       </tx:advice>
       <aop:config expose-proxy="true">
         <!-- 只对业务逻辑层(service层)实施事务 -->
         <!-- <aop:pointcut id="txPointcut" expression="execution(* com.lq.service.*.*)" /> -->
        <aop:pointcut id="txPointcut" expression="execution(* com.lq.service..*.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
       </aop:config>
       
  </beans>

1.3web.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"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
  <display-name>Spring-MVC-model</display-name>	
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
   <!-- 加载所有的配置文件 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:config/spring/spring-*.xml</param-value>
  </context-param>
  <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>

2实体类

2.1User1

这个类等于实体类,可以逆向过来呦
生成注解实体类链接有需要的可以看看

package com.lq.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * User1 entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "User1", schema = "dbo", catalog = "test")
public class User1 implements java.io.Serializable {

	// Fields

	private Integer id;
	private String age;
	private String userName;
	private String password;

	// Constructors

	/** default constructor */
	public User1() {
	}

	/** full constructor */
	public User1(String age, String userName, String password) {
		this.age = age;
		this.userName = userName;
		this.password = password;
	}

	// Property accessors
	@Id
	@GeneratedValue
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "age", length = 50)
	public String getAge() {
		return this.age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	@Column(name = "userName", length = 50)
	public String getUserName() {
		return this.userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Column(name = "password", length = 50)
	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

3.Dao层

3.1UserDao

package com.lq.dao;

import java.util.List;

import com.lq.entity.User1;

public interface UserDao {
   public User1 getUser(int id);
   public List<User1> getAllUser();
   public void addUser(User1 user);
   public boolean delUser(int id);
   public boolean updateUser(User1 user);
   
   public List<User1> login(String userName,String password);
}

3.2UserDaoImpl

package com.lq.dao;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;

import com.lq.entity.User1;
//注入
@Repository
public class UserDaoImpl implements UserDao {
	 //注入已在spring-common.xml中配制好的sessionFactory
	@Resource(name="sessionFactory")
	private SessionFactory sessionFactory;

	@Override
	public User1 getUser(int id) {
		String hql="from User1 u where u.id=?";
		Query query=sessionFactory.getCurrentSession().createQuery(hql);
		query.setInteger(0,id);
		return (User1) query.uniqueResult();
	}

	@Override
	public List<User1> getAllUser() {
		String hql="from User1";
		Query query=sessionFactory.getCurrentSession().createQuery(hql);
		return query.list();
	}

	@Override
	public void addUser(User1 user) {
		sessionFactory.getCurrentSession().save(user);
	}

	@Override
	public boolean delUser(int id) {
		String hql="delete User1 u where u.id=?";
		Query query=sessionFactory.getCurrentSession().createQuery(hql);
		query.setInteger(0, id);
		return (query.executeUpdate()>0);
	}

	@Override
	public boolean updateUser(User1 user) {
	   String hql="update User1 u set u.userName=?,u.age=? where u.id=?";
	   Query query = sessionFactory.getCurrentSession().createQuery(hql);
	   query.setString(0, user.getUserName());
	   query.setString(1, user.getAge());
	   query.setInteger(2, user.getId());
	   return (query.executeUpdate()>0);
	}

	@Override
	public List<User1> login(String userName,String password) {
		String hql="from User1 u where u.userName=? and u.password=?";
		Query query=sessionFactory.getCurrentSession().createQuery(hql);
		query.setString(0, userName);
		query.setString(1, password);
		return query.list();
	}

	

}

4.Service层

4.1UserService

package com.lq.service;

import java.util.List;

import com.lq.entity.User1;

public interface UserService {
	//查询id
   public User1 getUser(int id);
   //查询所有user表
   public List<User1> getAllUser();
   //添加user表
   public void addUser(User1 user);
   //删除一个id
   public boolean delUser(int id);
   //更新user表
   public boolean updateUser(User1 user);
   public List<User1> login(String userName,String password);
}

4.2UserServiceImpl

package com.lq.service;

import java.util.List;

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

import com.lq.dao.CustomerDao;
import com.lq.dao.UserDao;
import com.lq.entity.User1;
//注入service
@Service
public class UserServiceImpl implements UserService{
    //注入Dao
	@Autowired
	private UserDao userDao;
	
	@Autowired
	private CustomerDao customerDao;
	
	@Override
	public User1 getUser(int id) {
		return userDao.getUser(id);
	}

	@Override
	public List<User1> getAllUser() {
		return userDao.getAllUser();
	}

	@Override
	public void addUser(User1 user) {
		userDao.addUser(user);
	}

	@Override
	public boolean delUser(int id) {
		return userDao.delUser(id);
	}

	@Override
	public boolean updateUser(User1 user) {
		return userDao.updateUser(user);
	}

	@Override
	public List<User1> login(String userName, String password) {
		return userDao.login(userName, password);
	}

}

5.Controller层

5.1loginController

package com.lq.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.lq.entity.User1;
import com.lq.service.UserService;

//注入controller
@Controller
@RequestMapping("/login")
public class loginController {
	// 注入service
	@Autowired
	private UserService userService;

	@RequestMapping("/cheklogin")
	public void cheklogin(String username, String password,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		PrintWriter out = response.getWriter();
		List<User1> user1s = userService.login(username, password);
		if (user1s.size() > 0) {
			 HttpSession session=request.getSession();  
			 session.setAttribute("user","1");
			out.print("1");
		} else {
			out.print("0");
		}
	}
}

5.2UserController

今天的登录的例子不会需要这么多的方法,但是都贴出来有需要的可以用
package com.lq.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.lq.entity.User1;
import com.lq.service.CustomarService;
import com.lq.service.UserService;

//注入controller
@Controller
@RequestMapping("/df")
public class UserController {
	 //注入service
    @Autowired
    private UserService userService;

    @Autowired
    private CustomarService customerService;
    
    @RequestMapping("/getAllUser")
    public String getAllUser(HttpServletRequest request){
    	request.setAttribute("userList", userService.getAllUser());
    	return "/selectUser/index";
    }
    @RequestMapping("/getUser")
    public String getUser(int id, HttpServletRequest request) {
        request.setAttribute("user", userService.delUser(id));
        return "/editUser";
    }

    @RequestMapping("/toAddUser")
    public String toAddUser() {
        return "/addUser";
    }

    @RequestMapping("/addUser")
    public String addUser(User1 user, HttpServletRequest request) {
        try {
            userService.addUser(user);
            return "redirect:/user/getAllUser";
        } catch (Exception e) {
            return "/error";
        }       
    }

    @RequestMapping("/delUser")
    public void delUser(int id, HttpServletResponse response) {
        String result = "{\"result\":\"error\"}";

        if (userService.delUser(id)) {
            result = "{\"result\":\"success\"}";
        }
        response.setContentType("application/json");
        try {
            PrintWriter out = response.getWriter();
            out.write(result);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @RequestMapping("/updateUser")
    public String updateUser(User1 user, HttpServletRequest request) {
        if (userService.updateUser(user)) {
            user = userService.getUser(user.getId());
            request.setAttribute("user", user);
            return "redirect:/user/getAllUser";
        } else {
            return "/error";
        }
    }
}

6.前台界面

6.1login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%
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%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<link rel="stylesheet" href="${pageContext.request.contextPath}/css/reset.css" />
	<link rel="stylesheet" href="${pageContext.request.contextPath}/css/login.css" />
        <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
        <script type="text/javascript" src="${pageContext.request.contextPath}/js/login.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.1.min.js"></script>  
  </head>
  <script type="text/javascript">
  //登录
  function LoginDate(){
	  var username=$("#username").val();
	  var password=$("#password").val();
	  $.ajax({
	    	url:"/Spring-MVC-model/login/cheklogin",
	    	type:"post",
	    	async:false,
	    	data:{"username":username,"password":password},
	    	success:function(data){
	    		if(data=="1"){
	    			alert("登录成功");
	    			window.location.href="/Spring-MVC-model/df/getAllUser"
	    		}else{
	    			$("#error").text("用户名或密码错误")
	    		}
	    	}
	    })
  }
  </script>
  <body>
  <div class="page">
	<div class="loginwarrp">
		<div class="logo">管理员登陆</div>
        <div class="login_form">
				<li class="login-item">
					<span>用户名:</span>
					<input type="text" id="username" name="username" class="login_input" >
                                        <span id="count-msg" class="error"></span>
				</li>
				<li class="login-item">
					<span>密 码:</span>
					<input type="password" id="password" name="password" class="login_input" >
                                        <span id="password-msg" class="error"></span>
				</li>
				<li class="login-sub">
					<input type="submit" name="button" value="登录" οnclick="LoginDate();"/><span id="error" style="color: red"></span>
                    <%--<input type="reset" name="Reset" value="重置" /> --%>
				</li>
		</div>
	</div>
	</div>
  </body>
</html>

6.2index.jsp 

欢迎页面,还没有操作,有时间继续更
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%
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%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<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">
	<link href="${pageContext.request.contextPath}/css/bootstrap.css" rel="stylesheet">
	<link href="${pageContext.request.contextPath}/css/site.css" rel="stylesheet">
    <link href="${pageContext.request.contextPath}/css/bootstrap-responsive.css" rel="stylesheet">
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.1.min.js"></script> 
</head>
<script type="text/javascript">
</script>
 <body>
  <body>
    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container-fluid">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="#">Strass Administration</a>
          <div class="btn-group pull-right">
			<a class="btn" href="my-profile.html"><i class="icon-user"></i> Admin</a>
            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
              <span class="caret"></span>
            </a>
            <ul class="dropdown-menu">
			  <li><a href="my-profile.html">Profile</a></li>
              <li class="divider"></li>
              <li><a href="#">Logout</a></li>
            </ul>
          </div>
          <div class="nav-collapse">
            <ul class="nav">
			<li><a href="index.html">Home</a></li>
              <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Users <b class="caret"></b></a>
				<ul class="dropdown-menu">
					<li><a href="new-user.html">New User</a></li>
					<li class="divider"></li>
					<li><a href="users.html">Manage Users</a></li>
				</ul>
			  </li>
              <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Roles <b class="caret"></b></a>
				<ul class="dropdown-menu">
					<li><a href="new-role.html">New Role</a></li>
					<li class="divider"></li>
					<li><a href="roles.html">Manage Roles</a></li>
				</ul>
			  </li>
			  <li><a href="stats.html">Stats</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>

    <div class="container-fluid">
      <div class="row-fluid">
        <div class="span3">
          <div class="well sidebar-nav">
            <ul class="nav nav-list">
              <li class="nav-header"><i class="icon-wrench"></i> Administration</li>
              <li class="active"><a href="users.html">Users</a></li>
              <li><a href="roles.html">Roles</a></li>
              <li class="nav-header"><i class="icon-signal"></i> Statistics</li>
              <li><a href="stats.html">General</a></li>
              <li><a href="user-stats.html">Users</a></li>
              <li><a href="visitor-stats.html">Visitors</a></li>
              <li class="nav-header"><i class="icon-user"></i> Profile</li>
              <li><a href="my-profile.html">My profile</a></li>
              <li><a href="#">Settings</a></li>
			  <li><a href="#">Logout</a></li> 
            </ul>
          </div>
        </div>
        <div class="span9">
          <div class="well hero-unit">
            <h1>Welcome, Admin</h1>
            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam eget ligula eu lectus lobortis condimentum. Aliquam nonummy auctor massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. </p>
            <p><a class="btn btn-success btn-large" href="users.html">Manage Users »</a></p>
          </div>
          <div class="row-fluid">
            <div class="span3">
              <h3>Total Users</h3>
              <p><a href="users.html" class="badge badge-inverse">563</a></p>
            </div>
            <div class="span3">
              <h3>New Users Today</h3>
              <p><a href="users.html" class="badge badge-inverse">8</a></p>
            </div>
            <div class="span3">
              <h3>Pending</h3>
			  <p><a href="users.html" class="badge badge-inverse">2</a></p>
            </div>
            <div class="span3">
              <h3>Roles</h3>
			  <p><a href="roles.html" class="badge badge-inverse">3</a></p>
            </div>
          </div>
		  <br />
		  <div class="row-fluid">
			<div class="page-header">
				<h1>Pending Users <small>Approve or Reject</small></h1>
			</div>
			<table class="table table-bordered">
				<thead>
					<tr>
						<th>ID</th>
						<th>Name</th>
						<th>E-mail</th>
						<th>Phone</th>
						<th>City</th>
						<th>Role</th>
						<th>Status</th>
						<th>Actions</th>
					</tr>
				</thead>
				<tbody>
				<tr class="pending-user">
					<td>564</td>
					<td>John S. Schwab</td>
					<td>johnschwab@provider.com</td>
					<td>402-xxx-xxxx</td>
					<td>Bassett, NE</td>
					<td>User</td>
					<td><span class="label label-important">Inactive</span></td>
					<td><span class="user-actions"><a href="javascript:void(0);" class="label label-success">Approve</a> <a href="javascript:void(0);" class="label label-important">Reject</a></span></td>
				</tr>
				<tr class="pending-user">
					<td>565</td>
					<td>Juliana M. Sheffield</td>
					<td>julianasheffield@provider.com</td>
					<td>803-xxx-xxxx</td>
					<td>Columbia, SC</td>
					<td>User</td>
					<td><span class="label label-important">Inactive</span></td>
					<td><span class="user-actions"><a href="javascript:void(0);" class="label label-success">Approve</a> <a href="javascript:void(0);" class="label label-important">Reject</a></span></td>
				</tr>
				</tbody>
			</table>
		  </div>
        </div>
      </div>
      <hr>
      <footer class="well">
        &copy; Strass - More Templates <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a> - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a>
      </footer>
    </div>
 </body>
  <script src="${pageContext.request.contextPath}/js/jquery.js"></script>
<script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
</html>

到现在为止所有的框架搭建完美成功


jar包都在这里可以复制过来,免得报错


tomcat启动,就会出现登录界面



登录成功过后就会进入首界面,这是我下载bootstrap模板,修改修改可以做来简单的系统




暂时做到这些,后期我有时间会在做一些功能在这个搭的框架里的。



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值