SSM案例解析

结构目录

IndexController.java

package cn.cetc.ssm.controller;

import cn.cetc.ssm.pojo.User;
import cn.cetc.ssm.service.UserService;
import com.google.gson.Gson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

@Controller
@RequestMapping("/energy")
public class IndexController {
    @Autowired
    private UserService userService;

    @RequestMapping("/saveUser")
    public void saveUser(HttpServletRequest req, HttpServletResponse resp)
            throws IOException, ServletException, ParseException {
        String username = req.getParameter("username");
        User u = userService.getUserByUsername(username);
        String result = null;
        if (u != null) {
            result = new Gson().toJson("false");
        } else {
            String password = req.getParameter("password");
            String nickname = req.getParameter("nickname");
            int sex = Integer.parseInt(req.getParameter("val"));
            int usertype = Integer.parseInt(req.getParameter("item"));
            String bdate = req.getParameter("birthdate");
            String dlt = req.getParameter("dltime");
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date birthdate = null;
            Date dltime = null;
            try {
                birthdate = format.parse(bdate);
                dltime = format.parse(dlt);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            User user = new User();
            String id = UUID.randomUUID().toString();
            user.setId(id);
            user.setUsername(username);
            user.setPassword(password);
            user.setCreatetime(new Date());
            user.setNickname(nickname);
            user.setBirthdate(birthdate);
            user.setSex(sex);
            user.setDltime(dltime);
            user.setUsertype(usertype);
            userService.saveUser(user);
            result = new Gson().toJson(user);
        }
        String jsonp = req.getParameter("jsoncallback");
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html");
        if (jsonp != null) {
            result = jsonp + "(" + result + ")";
            resp.getWriter().write(result);
        } else {
            resp.getWriter().write(result);
        }
    }

    @RequestMapping(value = "/toRegister")
    public ModelAndView toRegister(HttpServletRequest request,
                                   HttpServletResponse response, ModelMap model) {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("Register");
        return mv;
    }

    @RequestMapping("/login")
    public void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        User user = userService.getUserByUsername(username);
        String result = "";
        if (user != null && password.equals(user.getPassword())) {
            req.getSession().setAttribute("user", user);
            result = new Gson().toJson("true");
        } else {
            result = new Gson().toJson("false");
        }
        resp.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html");
        String jsonp = req.getParameter("jsoncallback");
        if (jsonp != null) {
            result = jsonp + "(" + result + ")";
        }
        resp.getWriter().write(result);

    }
    @RequestMapping(value = "/toLogin")
    public ModelAndView toLogin(HttpServletRequest request,
                                HttpServletResponse response, ModelMap model) {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("Login");
        return mv;
    }
    @RequestMapping(value = "/index")
    public ModelAndView index(HttpServletRequest request,
                              HttpServletResponse response, ModelMap model) {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("Index");
        return mv;
    }

}

UserMapper.java

package cn.cetc.ssm.mapper;

import cn.cetc.ssm.pojo.User;

public interface UserMapper {
    //根据用户名获取用户信息
    public User getUserByUsername(String username);

    //插入用户
    public void saveUser(User user);
}

User.java

package cn.cetc.ssm.pojo;

import java.util.Date;

public class User {

        private String id;
        private String username;
        private String password;
        private Date createtime;
        private String nickname;
        private Date birthdate;
        private int sex;
        private Date dltime;
        private String hpic;
        private int usertype;
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public Date getCreatetime() {
            return createtime;
        }
        public void setCreatetime(Date createtime) {
            this.createtime = createtime;
        }
        public String getNickname() {
            return nickname;
        }
        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
        public Date getBirthdate() {
            return birthdate;
        }
        public void setBirthdate(Date birthdate) {
            this.birthdate = birthdate;
        }
        public int getSex() {
            return sex;
        }
        public void setSex(int sex) {
            this.sex = sex;
        }
        public Date getDltime() {
            return dltime;
        }
        public void setDltime(Date dltime) {
            this.dltime = dltime;
        }
        public String getHpic() {
            return hpic;
        }
        public void setHpic(String hpic) {
            this.hpic = hpic;
        }
        public int getUsertype() {
            return usertype;
        }
        public void setUsertype(int usertype) {
            this.usertype = usertype;
        }
    }


UserServiceImpl.java

package cn.cetc.ssm.service.impl;

import cn.cetc.ssm.mapper.UserMapper;
import cn.cetc.ssm.pojo.User;
import cn.cetc.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

	@Autowired
	private UserMapper userMapper;


	@Override
	public User getUserByUsername(String username) {
		return userMapper.getUserByUsername(username);
	}

	@Override
	public void saveUser(User user) {
		userMapper.saveUser(user);
	}
	
	
}

UserService.java

package cn.cetc.ssm.service;

import cn.cetc.ssm.pojo.User;

public interface UserService {
    public User getUserByUsername(String username);
    public void saveUser(User user);
}

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/energycar?serverTimezone=GMT&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456

log4j.properties

# Set root logger level to error
log4j.rootLogger=INFO, Console, File
###### Console appender definition #######
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{3}] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=spring.log
log4j.appender.File.Append=false
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n

springcontext.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: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">

    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.properties" />

    <!-- 数据库连接池 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
          destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        <property name="maxActive" value="10" />
        <property name="maxIdle" value="5" />
    </bean>

    <!-- 配置SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 数据库连接池 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 加载mybatis的全局配置文件 -->
        <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
    </bean>

    <!-- 配置Mapper扫描 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 配置Mapper扫描包 -->
        <property name="basePackage" value="cn.cetc.ssm.mapper" />
    </bean>

    <!-- 注解事务 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!-- 开启注解 -->
    <tx:annotation-driven/>
</beans>

springmvc.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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

    <!-- 配置controller扫描包 -->
    <context:component-scan base-package="cn.cetc.ssm.controller"/>

    <!-- 注解驱动 -->
    <mvc:annotation-driven/>

    <!-- 配置视图解析器 -->
    <bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置逻辑视图的前缀 -->
        <property name="prefix" value="/WEB-INF/page/" />
        <!-- 配置逻辑视图的后缀 -->
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 访问静态资源文件 -->
    <!-- 文件若放在静态路径/statics下,可以直接访问,而不经过controller -->
    <mvc:resources mapping="statics/**" location="statics/"/>

    <!-- 配置servicer扫描包 -->
    <context:component-scan base-package="cn.cetc.ssm.service"/>

</beans>

sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

</configuration>

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_4_0.xsd"
         id="WebApp_ID" version="4.0">
    <display-name>test</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>/WEB-INF/page/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>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <!-- 设置编码参是UTF8 -->
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 配置spring -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springcontext.xml</param-value>
    </context-param>

    <!-- 使用监听器加载Spring配置文件 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 添加前置控制器Servlet配置代码 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 指定SpringMVC配置文件 -->
        <!-- SpringMVC的配置文件的默认路径是/WEB-INF/${servlet-name}-servlet.xml -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.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>

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
<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>testcar</name>
  <groupId>com.njcit</groupId>
  <artifactId>testcar</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.7</version>
        <configuration>
          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8888</port>
              <maxIdleTime>30000</maxIdleTime>
            </connector>
          </connectors>
          <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory>
          <contextPath>/</contextPath>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>6</source>
          <target>6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <!--dependency>
      <groupId>com.njcit</groupId>
      <artifactId>[the artifact id of the block to be mounted]</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency-->
  </dependencies>

</project>

Head.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE html>

<head>
<base href="<%=basePath%>">
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport"
	content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

<title></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="statics/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

</head>

<body style="background-color: #124E76;">
	<div class="container-fluid">
		<div class="row">
			<div class="col-md-12">
				<div class="navbar navbar-default" role="navigation"
					style="background-color: #124E76; border: 0px solid; margin-bottom: 0px;">
					<div class="container-fluid">
						<div class="navbar-header">
							<a class="navbar-brand" style="color: #F0F8FD;"><img
								border="0" width="500" src="statics/images/myself/logo.png" /></a>
						</div>
						<div class="navbar-header">
							<a class="navbar-brand"
								style="color: #F0F8FD; padding: 24px; margin-left: 20px">首页</a>
						</div>
						<div class="navbar-header">
							<a class="navbar-brand"
								style="color: #F0F8FD; margin-left: 30px; padding: 24px;">车辆分布</a>
						</div>
						<div class="navbar-header">
							<a class="navbar-brand"
								style="color: #F0F8FD; margin-left: 30px; padding: 24px;">车友圈</a>
						</div>
						<div class="navbar-header">
							<a class="navbar-brand"
								style="color: #F0F8FD; margin-left: 30px; padding: 24px;">地图导航</a>
						</div>
						<div class="navbar-header" style="float: right;">
							<a href="<%=path%>/energy/toLogin" class="navbar-brand" style="color: #F0F8FD; padding-top: 24px;">登录</a> <span
								class="navbar-brand" style="color: #F0F8FD; padding-top: 24px;">|</span>
							<a href="<%=path%>/energy/toRegister" class="navbar-brand"  href="javascript:void(0);"
							style="color: #F0F8FD; padding-top: 24px;">注册</a>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div class="row" style="margin: 17px 0">
						<img src="statics/images/line.png" class="img-responsive" />					
		</div>
	</div>
	
	<script type="text/javascript">

	</script >

</body>
</html>

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 http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <%@ include file="Head.jsp" %>
    <title>用户登录</title>
    <link href="statics/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
    <link rel="stylesheet" href="statics/css/style.css"/>
    <link rel="stylesheet" href="statics/css/page.css"/>
    <link rel="stylesheet" href="statics/css/sweetalert.css"/>
</head>

<body style="background-color: #124E76;">
<div class="list-group" style="margin: 0 auto; width: 800px;">
    <a class="list-group-item active" style="background-color: #196BA2;">
        <h4 class="list-group-item-heading">用户登录</h4>
    </a>
    <div class="list-group-item" style="background-color: #145885; border: 0px solid;">
        <div class="row">
            <div class="col-md-12" style="background-color: #124E76; float: right; margin-top: 20px;">
                <div class="form-group" style="margin-top: 20px; margin-left: 12%;">
                    <label class="form-label" style="color: #ffffff;">用户名:</label>
                    <input type="text" id="username" class="form-control" style="width: 300px; margin-left: 50px;">
                </div>
                <div class="form-group" style="margin-top: 20px; margin-left: 12%;">
                    <label class="form-label" style="color: #ffffff;">密码:</label>
                    <input type="password" id="password" class="form-control" style="width: 300px; margin-left: 50px;">
                </div>
            </div> <!-- end of col-md-12 div -->
            <div class="row" style="margin-top: 10px; margin-bottom: 10px; text-align: center;">
                <button type="button" onclick="login()" style="text-align: center;" class="btn btn-primary">登录</button>
            </div>
        </div>
    </div>

</div>  <!-- end of list-group-item div -->
</div> <!-- end of list-group div -->

<script src="statics/js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="statics/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script src="statics/js/sweetalert.min.js"></script>
<script type="text/javascript">
    function login() {
        var username = $("#username").val();
        var password = $("#password").val();
        var data = {
            username: username,
            password: password
        }
        $.ajax({
            type: "post",
            url: "<%=path%>/energy/login",
            data: data,
            dataType: "jsonp",
            jsonp: "jsoncallback",
            success: function (data) {
                if (data == "true") {
                    sweetAlert("登录成功!");
                    setTimeout("location.href = 'http://" + location.host + "<%=path%>"
                        + "/energy/index'", 500);
                } else {
                    sweetAlert("账户不存在或用户名密码错误!");
                }
            }
        })
    }

</script>


<%@ include file="Bottom.jsp" %>
</body>

</html>

Index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
	<meta charset="utf-8" />
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<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">
	<%@ include file="Head.jsp"%>
    <title>新能源汽车智能监控分析系统</title>
    <link href="statics/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
	<link rel="stylesheet" href="statics/css/style.css" />
	<link rel="stylesheet" href="statics/css/page.css" />
</head>
<body>
<script src="statics/js/jquery-1.9.1.min.js" type="text/javascript"></script>
	<script src="statics/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<%@ include file="Bottom.jsp"%>
</body>
</html>

Register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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">
<%@ include file="Head.jsp"%>
<title>账号注册</title>
<link href="statics/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="statics/css/style.css" />
<link rel="stylesheet" href="statics/css/page.css" />
<link rel="stylesheet" href="statics/css/sweetalert.css" />

</head>

<body style="text-align: center;">
	<div class="list-group" style="margin: 0 auto; width: 800px;">
		<a href="#" class="list-group-item active"
			style="background-color: #196BA2;">
			<h4 class="list-group-item-heading">账号注册</h4>
		</a>
		<div class="list-group-item"
			style="background-color: #145885; border: 0px solid;">
			<div class="row">
				<div class="col-md-6"
					style="background-color: #124E76; width: 250px; height: 360px; margin-top: 20px;">
					<div class="img-circle"
						style="margin: 0 auto; padding-top: 20px; background-color: #124E76; width: 150px; height: 150px;">
						<img src="statics/login/nlogin.jpg" class="img-circle"
							border="0" height="150" id="pic" width="150" />
					</div>
					<button type="button"
						style="background-color: #196BA2; color: #F0F8FD; border: 0px; margin-left: 70px; margin-top: 40px; height: 30px;"
						class="btn btn-default">上传头像</button>
					<input id="fileToUploadLink" type="file"
						style="cursor: pointer; opacity: 0; margin-left: 70px; margin-top: -25px; color: #F0F8FD;"
						size="25" name="fileToUploadLink" />
				</div>
				<div class="col-md-6"
					style="background-color: #124E76; float: right; margin-top: 20px; width: 500px; height: 360px;">
					<div class="form-group" style="margin-top: 20px;">
						<label class="form-label" style="color: #F0F8FD;">用户名:</label> <input
							type="text" id="username" class="form-control"
							style="width: 300px; margin-left: 50px;">
					</div>
					<div class="form-group" style="margin-top: 20px;">
						<label class="form-label" style="color: #F0F8FD;">密码:</label> <input
							type="password" id="password" class="form-control"
							style="width: 300px; margin-left: 50px;">
					</div>
					<div class="form-group" style="margin-top: 20px;">
						<label class="form-label" style="color: #F0F8FD;">昵称:</label> <input
							type="text" id="nickname" class="form-control"
							style="width: 300px; margin-left: 50px;">
					</div>
					<div class="form-group">
						<label class="form-label" style="margin-top: 5px; color: #F0F8FD;">出生年月:</label>
						<div class="form-group">
							<select class="form-control" id="year"
								style="margin-left: 50px; width: 150px;">
								<option value="2017">2017</option>
								<option value="2016">2016</option>
								<option value="2015">2015</option>
								<option value="2014">2014</option>
								<option value="2013">2013</option>
								<option value="2012">2012</option>
								<option value="2011">2011</option>
								<option value="2010">2010</option>
								<option value="2009">2009</option>
								<option value="2008">2008</option>
								<option value="2007">2007</option>
								<option value="2006">2006</option>
								<option value="2005">2005</option>
								<option value="2004">2004</option>
								<option value="2003">2003</option>
								<option value="2002">2002</option>
								<option value="2001">2001</option>
								<option value="2000">2000</option>
								<option value="1999">1999</option>
								<option value="1998">1998</option>
								<option value="1997">1997</option>
								<option value="1996">1996</option>
								<option value="1995">1995</option>
								<option value="1994">1994</option>
								<option value="1993">1993</option>
								<option value="1992">1992</option>
								<option value="1991">1991</option>
								<option value="1990">1990</option>
								<option value="1989">1989</option>
								<option value="1988">1988</option>
								<option value="1987">1987</option>
								<option value="1986">1986</option>
								<option value="1985">1985</option>
								<option value="1984">1984</option>
								<option value="1983">1983</option>
								<option value="1982">1982</option>
								<option value="1981">1981</option>
								<option value="1980">1980</option>
								<option value="1979">1979</option>
								<option value="1978">1978</option>
								<option value="1977">1977</option>
								<option value="1976">1976</option>
								<option value="1975">1975</option>
								<option value="1974">1974</option>
								<option value="1973">1973</option>
								<option value="1972">1972</option>
								<option value="1971">1971</option>
								<option value="1970">1970</option>
								<option value="1969">1969</option>
								<option value="1968">1968</option>
								<option value="1967">1967</option>
								<option value="1966">1966</option>
								<option value="1965">1965</option>
								<option value="1964">1964</option>
								<option value="1963">1963</option>
								<option value="1962">1962</option>
								<option value="1961">1961</option>
								<option value="1960">1960</option>
								<option value="1959">1959</option>
								<option value="1958">1958</option>
								<option value="1957">1957</option>
								<option value="1956">1956</option>
								<option value="1955">1955</option>
								<option value="1954">1954</option>
								<option value="1953">1953</option>
								<option value="1952">1952</option>
								<option value="1951">1951</option>
								<option value="1950">1950</option>
								<option value="1949">1949</option>
								<option value="1948">1948</option>
								<option value="1947">1947</option>
								<option value="1946">1946</option>
								<option value="1945">1945</option>
								<option value="1944">1944</option>
								<option value="1943">1943</option>
								<option value="1942">1942</option>
								<option value="1941">1941</option>
								<option value="1940">1940</option>
								<option value="1939">1939</option>
								<option value="1938">1938</option>
								<option value="1937">1937</option>
								<option value="1936">1936</option>
								<option value="1935">1935</option>
								<option value="1934">1934</option>
								<option value="1933">1933</option>
								<option value="1932">1932</option>
								<option value="1931">1931</option>
								<option value="1930">1930</option>
								<option value="1929">1929</option>
								<option value="1928">1928</option>
								<option value="1927">1927</option>
								<option value="1926">1926</option>
								<option value="1925">1925</option>
								<option value="1924">1924</option>
								<option value="1923">1923</option>
								<option value="1922">1922</option>
								<option value="1921">1921</option>
								<option value="1920">1920</option>
								<option value="1919">1919</option>
								<option value="1918">1918</option>
								<option value="1917">1917</option>
								<option value="1916">1916</option>
								<option value="1915">1915</option>
								<option value="1914">1914</option>
								<option value="1913">1913</option>
								<option value="1912">1912</option>
								<option value="1911">1911</option>
								<option value="1910">1910</option>
								<option value="1909">1909</option>
							</select> <select class="form-control" id="month" onblur="getDay()"
								style="width: 72px;">
								<option value="1">1</option>
								<option value="2">2</option>
								<option value="3">3</option>
								<option value="4">4</option>
								<option value="5">5</option>
								<option value="6">6</option>
								<option value="7">7</option>
								<option value="8">8</option>
								<option value="9">9</option>
								<option value="10">10</option>
								<option value="11">11</option>
								<option value="12">12</option>
							</select> <select class="form-control" id="day" style="width: 72px;">
							</select>
						</div>
					</div>
					<div class="form-group">
						<label class="form-label" style="color: #F0F8FD;">性别:</label> <label
							class="radio-inline" style="color: #F0F8FD; margin-left: 50px;">
							<input type="radio" name="sex" id="man" value="1"
							checked="checked"></label> <label class="radio-inline" style="color: #F0F8FD;"> <input
							type="radio" name="sex" id="won" value="0"></label>
					</div>
					<div class="form-group">
						<label class="form-label"
							style="margin-top: 5px; color: #F0F8FD; width: 120px;">初次申请驾照时间:</label>
						<div class="form-group">
							<select class="form-control" id="years"
								style="margin-left: 10px; width: 150px;">
								<option value="2017">2017</option>
								<option value="2016">2016</option>
								<option value="2015">2015</option>
								<option value="2014">2014</option>
								<option value="2013">2013</option>
								<option value="2012">2012</option>
								<option value="2011">2011</option>
								<option value="2010">2010</option>
								<option value="2009">2009</option>
								<option value="2008">2008</option>
								<option value="2007">2007</option>
								<option value="2006">2006</option>
								<option value="2005">2005</option>
								<option value="2004">2004</option>
								<option value="2003">2003</option>
								<option value="2002">2002</option>
								<option value="2001">2001</option>
								<option value="2000">2000</option>
								<option value="1999">1999</option>
								<option value="1998">1998</option>
								<option value="1997">1997</option>
								<option value="1996">1996</option>
								<option value="1995">1995</option>
								<option value="1994">1994</option>
								<option value="1993">1993</option>
								<option value="1992">1992</option>
								<option value="1991">1991</option>
								<option value="1990">1990</option>
								<option value="1989">1989</option>
								<option value="1988">1988</option>
								<option value="1987">1987</option>
								<option value="1986">1986</option>
								<option value="1985">1985</option>
								<option value="1984">1984</option>
								<option value="1983">1983</option>
								<option value="1982">1982</option>
								<option value="1981">1981</option>
								<option value="1980">1980</option>
								<option value="1979">1979</option>
								<option value="1978">1978</option>
								<option value="1977">1977</option>
								<option value="1976">1976</option>
								<option value="1975">1975</option>
								<option value="1974">1974</option>
								<option value="1973">1973</option>
								<option value="1972">1972</option>
								<option value="1971">1971</option>
								<option value="1970">1970</option>
								<option value="1969">1969</option>
								<option value="1968">1968</option>
								<option value="1967">1967</option>
								<option value="1966">1966</option>
								<option value="1965">1965</option>
								<option value="1964">1964</option>
								<option value="1963">1963</option>
								<option value="1962">1962</option>
								<option value="1961">1961</option>
								<option value="1960">1960</option>
								<option value="1959">1959</option>
								<option value="1958">1958</option>
								<option value="1957">1957</option>
								<option value="1956">1956</option>
								<option value="1955">1955</option>
								<option value="1954">1954</option>
								<option value="1953">1953</option>
								<option value="1952">1952</option>
								<option value="1951">1951</option>
								<option value="1950">1950</option>
								<option value="1949">1949</option>
								<option value="1948">1948</option>
								<option value="1947">1947</option>
								<option value="1946">1946</option>
								<option value="1945">1945</option>
								<option value="1944">1944</option>
								<option value="1943">1943</option>
								<option value="1942">1942</option>
								<option value="1941">1941</option>
								<option value="1940">1940</option>
								<option value="1939">1939</option>
								<option value="1938">1938</option>
								<option value="1937">1937</option>
								<option value="1936">1936</option>
								<option value="1935">1935</option>
								<option value="1934">1934</option>
								<option value="1933">1933</option>
								<option value="1932">1932</option>
								<option value="1931">1931</option>
								<option value="1930">1930</option>
								<option value="1929">1929</option>
								<option value="1928">1928</option>
								<option value="1927">1927</option>
								<option value="1926">1926</option>
								<option value="1925">1925</option>
								<option value="1924">1924</option>
								<option value="1923">1923</option>
								<option value="1922">1922</option>
								<option value="1921">1921</option>
								<option value="1920">1920</option>
								<option value="1919">1919</option>
								<option value="1918">1918</option>
								<option value="1917">1917</option>
								<option value="1916">1916</option>
								<option value="1915">1915</option>
								<option value="1914">1914</option>
								<option value="1913">1913</option>
								<option value="1912">1912</option>
								<option value="1911">1911</option>
								<option value="1910">1910</option>
								<option value="1909">1909</option>
							</select> <select class="form-control" id="months" onblur="getDays()"
								style="width: 72px;">
								<option value="1">1</option>
								<option value="2">2</option>
								<option value="3">3</option>
								<option value="4">4</option>
								<option value="5">5</option>
								<option value="6">6</option>
								<option value="7">7</option>
								<option value="8">8</option>
								<option value="9">9</option>
								<option value="10">10</option>
								<option value="11">11</option>
								<option value="12">12</option>
							</select> <select class="form-control" id="days" style="width: 72px;">
							</select>
						</div>
					</div>
				</div>
			</div>
			<div class="row"
				style="margin-top: 10px; margin-bottom: 10px; text-align: center;">
				<button type="button" style="text-align: center;"
					class="btn btn-primary" onclick="save()">注册</button>
			</div>
		</div>
	</div>
	<%@ include file="Bottom.jsp"%>
	<script src="statics/js/jquery-1.9.1.min.js" type="text/javascript"></script>
	<script src="statics/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
	<script src="statics/js/sweetalert.min.js"></script>
	<script type="text/javascript">
		function getDay() {
			var year = $("#year").val();
			var month = $("#month").val();
			var d = $("#day").val();
			var day = 0;
			var str = "";
			$("#day").empty();
			if (month == 1 || month == 3 || month == 5 || month == 7
					|| month == 8 || month == 10 || month == 12) {
				day = 31;
			} else if (month == 4 || month == 6 || month == 9 || month == 11) {
				day = 30;
			} else {
				if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
					day = 29
				} else {
					day = 28
				}
			}
			for (var i = 1; i <= day; i++) {
				str += "<option value="+i+">" + i + "</option>";
			}
			$("#day").html(str);
			if (d != null && d != "") {
				$("#day").val(d);
			}
		}
		function getDays() {
			var year = $("#years").val();
			var month = $("#months").val();
			var d = $("#days").val();
			var day = 0;
			var str = "";
			$("#days").empty();
			if (month == 1 || month == 3 || month == 5 || month == 7
					|| month == 8 || month == 10 || month == 12) {
				day = 31;
			} else if (month == 4 || month == 6 || month == 9 || month == 11) {
				day = 30;
			} else {
				if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
					day = 29
				} else {
					day = 28
				}
			}
			for (var i = 1; i <= day; i++) {
				str += "<option value="+i+">" + i + "</option>";
			}
			$("#days").html(str);
			if (d != null && d != "") {
				$("#days").val(d);
			}
		}
		$(function() {
			$("#day").empty();
			$("#days").empty();
			var date = new Date();
			var year = date.getFullYear();
			var month = date.getMonth() + 1;
			var d = date.getDate();
			var day = 0;
			var op = "";
			if (month == 1 || month == 3 || month == 5 || month == 7
					|| month == 8 || month == 10 || month == 12) {
				day = 31;
			} else if (month == 4 || month == 6 || month == 9 || month == 11) {
				day = 30;
			} else {
				if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
					day = 29
				} else {
					day = 28
				}
			}
			for (var i = 1; i <= day; i++) {
				op += "<option value="+i+">" + i + "</option>";
			}
			$("#day").html(op);
			$("#year").val(year);
			$("#month").val(month);
			$("#day").val(d);

			$("#days").html(op);
			$("#years").val(year);
			$("#months").val(month);
			$("#days").val(d);
		});
		function save(){
			var username=$("#username").val();
			var password=$("#password").val();
			var nickname=$("#nickname").val();
			var y1=$("#year").val();
			var m1=$("#month").val();
			var d1=$("#day").val();
			var y2=$("#years").val();
			var m2=$("#months").val();
			var d2=$("#days").val();
			var val=$('input:radio[name="sex"]:checked').val();
			var item = $('input:checkbox[name="com"]:checked').val();
			if(item!=1)
				item=0;
			var seperator = "-";
			var birthdate = y1 + seperator + m1 + seperator + d1;
			var dltime = y2 + seperator + m2 + seperator + d2;
			$.ajax({
				type : "post",
				url : "<%=path %>/energy/saveUser",
				data : {
					username : username,
					password : password,
					nickname : nickname,
					val : val,
					item : item,
					birthdate : birthdate,
					dltime : dltime,
				},
				dataType : "jsonp",//数据类型为json
				jsonp:"jsoncallback",
				success : function(data){
					if(data=="false"){
						sweetAlert("该用户名已存在!");
					}else{
						//提示成功,并进行跳转
						swal("", "登录成功!!!", "success");
						setTimeout("location.href = 'http://" + location.host + "<%=path%>/energy/toLogin'",500);
					}
				}
			});
		}

	</script>
</body>
</html>

Buttom.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html style="overflow:hidden;">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> 
	
    <title></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">
  </head>

<body style="background-color:#124E76;">
<div class="container-fluid"> 
	<div class="row" style="margin:0 -15px">
		<div class="col-md-12" style="position:fixed;bottom:0;background-color:#104467;text-align:center;">
			<span style="color:#F0F8FD;">@2019 南京第五十五所技术开发有限公司版权所有</span>
		</div>
	</div>
</div>
</body>
</html>

lib

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值