Spring+SpirngMVC+MongoDB+Maven整合

一、项目说明

本项目使用spring springmvc mongodb maven boostrap 整合的一个demo,欢迎大家预览,不足之处还请谅解。



二、项目结构如图


          




三、XML配置如下

    

3.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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.motoon</groupId>
  <artifactId>SSMongoDB</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>SSMongoDB Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.data.mongodb>1.9.2.RELEASE</spring.data.mongodb>
    <mongodb.java.driver>3.2.2</mongodb.java.driver>
    <fastjson.version>1.2.3</fastjson.version>
    <spring.version>4.2.6.RELEASE</spring.version>
    <jackson.version>2.7.0</jackson.version>
  </properties>

  <!--junit -->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <!--mongodb -->
    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>${mongodb.java.driver}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-mongodb</artifactId>
      <version>${spring.data.mongodb}</version>
    </dependency>

    <!--spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- commons-->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.4</version>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- json -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>${fastjson.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <!--jstl -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>

    <!--servlet -->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>
  </dependencies>
  
  <build>
    <finalName>SSMongoDB</finalName>
  </build>
</project>

   


 3.2  spring-context.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:mongo="http://www.springframework.org/schema/data/mongo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
          http://www.springframework.org/schema/data/mongo
          http://www.springframework.org/schema/data/mongo/spring-mongo-1.8.xsd">

    <mongo:mongo host="127.0.0.1" port="27017"/>
    <bean class="org.springframework.data.mongodb.core.MongoTemplate">
        <constructor-arg ref="mongo"/>
        <constructor-arg name="databaseName" value="ssmongodb"/>
    </bean>

</beans>



3.3  spring-mvc.xml 配置文件

  

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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-4.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">

    <!-- 自动扫描mongodb包下的所有类,如果@Controller注入为bean -->
    <context:component-scan base-package="com.mongodb" />
    <!-- 静态资源默认servlet配置 -->
    <mvc:default-servlet-handler/>
    <!-- 避免IE执行AJAX,返回JSON出现下载文件 -->
    <bean id="mappingJacksonHttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <!-- json转换器 -->
                <ref bean="mappingJacksonHttpMessageConverter" />
            </list>
        </property>
    </bean>
    <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
    <!-- 配置多文件上传 -->
   <!-- <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding">
            <value>UTF-8</value>
        </property>
        <property name="maxUploadSize">
            &lt;!&ndash; 上传文件大小限制为31M31*1024*1024 &ndash;&gt;
            <value>32505856</value>
        </property>
        <property name="maxInMemorySize">
            <value>4096</value>
        </property>
    </bean>
-->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg>
                    <value>UTF-8</value>
                </constructor-arg>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

</beans>



3.4  web.xml 配置文件

  

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name>Archetype Created Web Application</display-name>
  <!--spring上下文监听器-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-context.xml</param-value> </context-param>
  <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>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- Spring监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 防止Spring内存溢出监听器 -->
  <listener>
    <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
  </listener>
  <!-- springmvc控制转发器-->
  <!-- 自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为<servlet-name>+"-servlet.xml" -->
  <servlet>
    <servlet-name>SSMongoDB</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>SSMongoDB</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!--配置session超时时间 -->
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>




四、java 代码


4.1 User.java 代码

        

package com.mongodb.pojo;

import java.io.Serializable;

/**
 * @author rjsong
 * @create 2018-02-22 17:54
 */
public class User implements Serializable{

    private static final long serialVersionUID = 1L;
    private String userId;
    private String userName;
    private String password;
    private String phone;
    private String sex;
    private String status;
    
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

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

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getPassword() {
        return password;
    }

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

    public String getStatus() { return status; }

    public void setStatus(String status) { this.status = status; }
}



4.2 IUserDao.java 代码

    

package com.mongodb.dao;

import com.mongodb.pojo.User;
import java.util.List;

/**
 * @author rjsong
 * @create 2018-02-22 18:00
 */
public interface IUserDao {

    void add(User user);

    void delete(String userId);

    void update(User user);

    User selectUserById(String userId);

    List<User> getUserList();

    User selectUserByName(String username);

    List<User> selectUserByConditions(String conditions);

    void freezeUser(String userId);

    void unfreezeUser(String userId);

}



4.3 UserDaoImpl.java 代码

 

package com.mongodb.dao;

import com.mongodb.pojo.User;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author rjsong
 * @create 2018-02-22 18:04
 */
@Repository
public class UserDaoImpl implements IUserDao {

    @Resource
    private MongoTemplate mongoTemplate;

    public void add(User user) {
        this.mongoTemplate.save(user,"t_user");
    }

    public void delete(String userId) {
        this.mongoTemplate.remove(new Query(Criteria.where("userId").is(userId)), User.class, "t_user");
    }

    public void update(User user) {
        Query query = new Query();
        query.addCriteria(Criteria.where("userId").is(user.getUserId()));
        Update update = new Update();
        update.set("userName",user.getUserName());
        update.set("password",user.getPassword());
        update.set("sex",user.getSex());
        update.set("phone",user.getPhone());
        mongoTemplate.updateFirst(query,update,User.class,"t_user");
    }

    public User selectUserById(String userId) {
        return mongoTemplate.findOne(new Query(Criteria.where("userId").is(userId)),
                User.class,"t_user");
    }

    public List<User> getUserList() {
        return mongoTemplate.find(new Query(),User.class,"t_user");
    }

    public User selectUserByName(String username) {
        //is 为精确匹配,regex 为模糊匹配
        return mongoTemplate.findOne(new Query(Criteria.where("userName").is(username)),User.class,"t_user");
    }

    //多条件查询
    public List<User> selectUserByConditions(String conditions) {

        Criteria criteria = new Criteria();
        criteria.orOperator(Criteria.where("userName").regex(conditions),Criteria.where("userId").is(conditions));
        Query query = new Query(criteria);
        return mongoTemplate.find(query,User.class,"t_user");
    }
    //停用用户
    public void freezeUser(String userId) {
        Query query = new Query();
        query.addCriteria(Criteria.where("userId").is(userId));
        Update update = new Update();
        update.set("status","已停用");
        mongoTemplate.updateFirst(query,update,User.class,"t_user");
    }

    //启用用户
    public void unfreezeUser(String userId) {
        Query query = new Query();
        query.addCriteria(Criteria.where("userId").is(userId));
        Update update = new Update();
        update.set("status","已启用");
        mongoTemplate.updateFirst(query,update,User.class,"t_user");
    }


}



4.4 IUserService.java 代码

 

package com.mongodb.service;

import com.mongodb.pojo.User;

import java.util.List;

public interface IUserService {

    void insert(User user);

    void remove(String userId);

    void modify(User user);

    User findUserById(String userId);

    List<User> findUserList();

    User findUserByName(String username);

    List<User> findUserByConditions(String conditions);

    void freezeUser(String userId);

    void unfreezeUser(String userId);

}



4.5 UserService.java 代码

  

package com.mongodb.service;

import com.mongodb.dao.IUserDao;
import com.mongodb.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author rjsong
 * @create 2018-02-22 18:17
 */

@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    private IUserDao userDao;

    public void insert(User user) {
        userDao.add(user);
    }

    public void remove(String userId) {
        userDao.delete(userId);
    }

    public void modify(User user) { userDao.update(user);}

    public User findUserById(String userId) {
        return userDao.selectUserById(userId);
    }

    public List<User> findUserList() {
        return userDao.getUserList();
    }

    public User findUserByName(String username) {
        return userDao.selectUserByName(username);
    }

    public List<User> findUserByConditions(String conditions) {
        return userDao.selectUserByConditions(conditions);
    }

    public void freezeUser(String userId) { userDao.freezeUser(userId); }

    public void unfreezeUser(String userId) { userDao.unfreezeUser(userId); }
}



4.6 UserController.java 代码

   

package com.mongodb.controller;

import com.mongodb.pojo.User;
import com.mongodb.service.IUserService;
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 javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author rjsong
 * @create 2018-02-22 18:21
 */

@Controller
public class UserController {

    @Autowired
    private IUserService userService;


    //登陆功能
    @RequestMapping("/login")
    public String login(HttpServletRequest request, Model model){
        String username = request.getParameter("userName");
        String password = request.getParameter("password");
        if (username != null){
            User u = userService.findUserByName(username);
            if (u != null){
                if (u.getUserName().equals(username)&&u.getPassword().equals(password)&&"已启用".equals(u.getStatus())){
                    return "forward:getUserList";
                }else{
                    return "login";
                }
            }else{
                return "login";
            }
        }else{
            return "login";
        }
    }

    //注册
    @RequestMapping("/sign_in")
    public String register(User user){
        long time = System.currentTimeMillis();
        String userid = time+"";
        user.setUserId(userid);
        user.setStatus("已启用");
        userService.insert(user);
        return "login";
    }

    //获取用户列表
    @RequestMapping("/getUserList")
    public String getUserList(Model model){
        List<User> userList = userService.findUserList();

        model.addAttribute("userList",userList);

        return "list";
    }

    //添加用户
    @RequestMapping("/saveUser")
    public String saveUser(Model model,User user){
        long time = System.currentTimeMillis();
        String userid = time+"";
        user.setUserId(userid);
        user.setStatus("已启用");
        userService.insert(user);
        return "forward:getUserList";
    }

    //删除用户
    @RequestMapping("/delete")
    public String remove(Model model,HttpServletRequest request){

        String userId = request.getParameter("userId");
        userService.remove(userId);
        return "forward:getUserList";
    }

    //更新用户信息
    @RequestMapping("/updateUser")
    public String mofifyUser(Model model,HttpServletRequest request,User user){
        userService.modify(user);
        return "forward:getUserList";
    }

    //多条件查询
    @RequestMapping("/selectConditions")
    public String findUsersByConditions(HttpServletRequest request,Model model){
        String conditions = request.getParameter("conditions");
        List<User> userList = userService.findUserByConditions(conditions);
        model.addAttribute("userList",userList);
        return "list";
    }

    //根据Id查询用户
    @RequestMapping("/findUser")
    public  String findUserById(HttpServletRequest request,Model model){
        String userId = request.getParameter("userId");
        User user = userService.findUserById(userId);
        request.getSession().setAttribute("user",user);
        return "update";

    }

    //停用用户
    @RequestMapping("/freezeUser")
    public String freezeUser(HttpServletRequest request){
        String userId = request.getParameter("userId");
        userService.freezeUser(userId);
        return "forward:getUserList";
    }

    //启用用户
    @RequestMapping("/unfreezeUser")
    public String unfreezeUser(HttpServletRequest request){
        String userId = request.getParameter("userId");
        userService.unfreezeUser(userId);
        return "forward:getUserList";
    }


}


五、jsp 代码


5.1 index.jsp 代码

  

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta charset="utf-8">
    <title>首页</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
</head>
    <style type="text/css">
        body h2{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
    <h2>欢迎来到首页</h2>
    <hr/>
    <div class="container" style="margin-top: 50px;text-align: center;font-size: 18px" >
       欢迎 <a href="${pageContext.request.contextPath}/views/register.jsp" >注册</a>&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="${pageContext.request.contextPath}/views/login.jsp" >登陆</a>
    </div>
</body>
</html>



5.2 add.jsp 代码

  

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta charset="utf-8">
    <title>添加</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
    <style type="text/css">
        body h2{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
<h2>添加页面</h2>
<hr/>
<div class="container" style="margin-top: 50px">
    <form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/saveUser" method="post">
        <div class="form-group">
            <label for="userName" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userName" name="userName"
                       placeholder="请输入用户名">
            </div>
        </div>
        <div class="form-group">
            <label for="pwd" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="pwd" name="password"
                       placeholder="请输入密码">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">性别</label>
            <div class="col-sm-10">
                <input type="radio"  name="sex" value="" checked> &nbsp;&nbsp;
                <input type="radio"  name="sex" value="">             </div>
        </div>
        <div class="form-group">
            <label for="phone" class="col-sm-2 control-label">手机号码</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="phone" name="phone"
                       placeholder="请输入手机号码">
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-primary">确定</button>
                <button type="reset" class="btn btn-primary">取消</button>
            </div>
        </div>
    </form>
</div>
</body>
</html>



5.3 list.jsp 代码


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta charset="utf-8">
    <title>用户列表</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery-3.2.1.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
    <style type="text/css">
        body h2{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
<h2>用户列表</h2>
<hr/>
<div style="height:60px;line-height: 60px">

    <form action="${pageContext.request.contextPath}/selectConditions" method="post">
        <div style="margin-left: 50px" >
            <div class="col-sm-2">
                <input type="text" name="conditions" class="form-control" placeholder="请输入用户名或编号">
            </div>
            <div class="col-sm-2">
                <input type="submit" name="find" class="btn btn-primary"  value="搜索">
            </div>
        </div>
    </form>
</div>
<hr>
<div class="container" style="margin-top: 50px">
    <table class="table table-bordered">
        <thead>
            <tr class="text-c" style="text-align: center">
                <th>编号</th>
                <th>用户名</th>
                <th>密码</th>
                <th>性别</th>
                <th>手机号码</th>
                <th>状态</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
        <c:forEach items="${userList}" var="u">
            <tr class="text-c" style="text-align: center">
                <td>${u.userId}</td>
                <td>${u.userName}</td>
                <td>${u.password}</td>
                <td>${u.sex}</td>
                <td>${u.phone}</td>
                <td>${u.status}</td>
                <td>
                    <a class="btn btn-primary" href="${pageContext.request.contextPath}/findUser?userId=${u.userId}"  >修改</a>
                    <a class="btn btn-primary" href="${pageContext.request.contextPath}/delete?userId=${u.userId}"  οnclick="return del();">删除</a>
                    <a class="btn btn-primary" href="${pageContext.request.contextPath}/views/add.jsp"  >添加</a>
                    <a class="btn btn-primary" href="${pageContext.request.contextPath}/unfreezeUser?userId=${u.userId}" >启用</a>
                    <a class="btn btn-primary" href="${pageContext.request.contextPath}/freezeUser?userId=${u.userId}" >停用</a>
                </td>
            </tr>
        </c:forEach>
        </tbody>
    </table>
</div>

</body>

<script>

    function del() {
        if (confirm("确定要删除吗?")){
            return true;
        }else {
            return false;
        }
    }

</script>

</html>



5.4 login.jsp 代码

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta charset="utf-8">
    <title>登陆</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
    <style type="text/css">
        body h2{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
<h2>登录页面</h2>
<hr/>
<div class="container" style="margin-top: 50px">
    <form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/login" method="post">
        <div class="form-group">
            <label for="userName" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userName" name="userName"
                       placeholder="请输入用户名">
            </div>
        </div>
        <div class="form-group">
            <label for="pwd" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="pwd" name="password"
                       placeholder="请输入密码">
            </div>
        </div>

        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <div class="checkbox">
                    <label>
                        <input type="checkbox"> 请记住我
                    </label>
                </div>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-primary">确定</button>
                <button type="reset" class="btn btn-primary">取消</button>
            </div>
        </div>
    </form>
</div>
</body>
</html>



5.5 register.jsp 代码

  

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>

</head>
<style type="text/css">
    body h2{
        text-align: center;
        color: red;
    }
</style>
</head>
<body>
<h2>注册页面</h2>
<hr/>
<div class="container" style="margin-top: 50px">
    <form class="form-horizontal" role="form" id="signupForm" action="${pageContext.request.contextPath}/sign_in" method="post">
        <div class="form-group">
            <label for="userName" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userName" name="userName"
                       placeholder="请输入用户名" >
            </div>
        </div>
        <div class="form-group">
            <label for="password" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="password" name="password"
                       placeholder="请输入密码" >
            </div>
        </div>
        <div class="form-group">
            <label for="repassword" class="col-sm-2 control-label">重复密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="repassword" name="repassword"
                       placeholder="请重新输入密码" >
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">性别</label>
            <div class="col-sm-10">
                <input type="radio"  name="sex" value="" checked> &nbsp;&nbsp;
                <input type="radio"  name="sex" value="">             </div>
        </div>
        <div class="form-group">
            <label for="phone" class="col-sm-2 control-label">手机号码</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="phone" name="phone"
                       placeholder="请输入手机号码">
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-success" οnclick=" return check()">确定</button>
                <button type="reset" class="btn btn-success">取消</button>
            </div>
        </div>
    </form>
</div>
</body>

<script >
   function check() {
       var username = document.getElementById("userName").value;
       var pwd1 = document.getElementById("password").value;
       var pwd2 = document.getElementById("repassword").value;
       if (username ==""||username == null){
           alert("用户名不能为空");
           return false;
       }else if (username.length<2){
            alert("用户名长度至少为2");
            return false;
       }

       if (pwd1=="" || pwd1==null || pwd2=="" ||pwd2 == null){
           alert("密码不能为空");
           return false;
       }else if (pwd1 != pwd2){
           alert("两次输入密码不一致");
           return false;
       }
   }
</script>
</html>



5.6 update.jsp 代码

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<html>
<head>
    <meta charset="utf-8">
    <title>修改</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
    <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
    <script src="${pageContext.request.contextPath}/js/bootstrap.min.js"></script>
    <style type="text/css">
        body h2{
            text-align: center;
            color: red;
        }
    </style>
</head>
<body>
<h2>修改页面</h2>
<hr/>
<div class="container" style="margin-top: 50px">
    <form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/updateUser" method="post">

        <div class="form-group">
            <div class="col-sm-10">
                <input type="hidden" class="form-control" id="userId" name="userId" value="${user.userId}">
            </div>
        </div>
        <div class="form-group">
            <label for="userName" class="col-sm-2 control-label">用户名</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="userName" name="userName" value="${user.userName}">
            </div>
        </div>
        <div class="form-group">
            <label for="pwd" class="col-sm-2 control-label">密码</label>
            <div class="col-sm-10">
                <input type="password" class="form-control" id="pwd" name="password" value="${user.password}">
            </div>
        </div>
        <div class="form-group">
            <label class="col-sm-2 control-label">性别</label>
            <div class="col-sm-10">
                <input type="radio"  name="sex" value="" <c:if test="${user.sex eq '' }" >checked</c:if> />&nbsp;&nbsp;
                <input type="radio"  name="sex" value="" <c:if test="${user.sex eq '' }" >checked</c:if> />            </div>
        </div>
        <div class="form-group">
            <label for="phone" class="col-sm-2 control-label">手机号码</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" id="phone" name="phone" value="${user.phone}">
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button type="submit" class="btn btn-primary">确定</button>
                <button type="reset" class="btn btn-primary">取消</button>
            </div>
        </div>
    </form>
</div>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值