最近在学前端,由于之前是干Android和Java所以顺便就搞搞Web的东西。于是就摸索了用Maven搭建Springmvc+Spring+Hibernate+html的工程,废话不多说。
工具:Eclipse-Neon.1 Release RC3 (4.6.1RC3)
Maven3.3.9
首先是来创建Maven工程:

单击File->New->Maven Project,选择红框中的第二个选项,这个选项可以引用Maven的骨架。


在这一步我们选择webapp这个选项来创建我们的web工程。


最后一步就是要填写group id和artifact id,其中Package也默认是group id的值。
创建好的工程目录结构:

工程创建完毕,接下来就开始搭建工程,我们选择用JavaEE框架时,第一件事情就是找jar包,而Maven最大的方便之处就是解决了jar包的问题。我们只需要在pom.xml文件中配置所需的jar包即可。

<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.ls.mavenTest</groupId><artifactId>LsProject</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>LsProject Maven Webapp</name><url>http://maven.apache.org</url><!-- 指定maven仓库 -->  <repositories><!-- maven自己官方仓库 -->  <repository>  <id>maven</id>  <name>Maven Repository Switchboard</name>  <layout>default</layout>  <url>http://repo1.maven.org/maven2</url>  <snapshots>  <enabled>false</enabled>  </snapshots>  </repository> <!-- <repository><id>sonatype</id><name>Sonatype Repository</name><url>http://repository.sonatype.org/content/groups/public/</url></repository> --><!--  <repository><id>ibiblio</id><name>Ibiblio Repository</name><url>http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/</url></repository> --><repository><id>jboss</id><name>JBoss Repository</name><url>http://repository.jboss.com/maven2/</url></repository><!-- <repository>  <id>java-repos</id>  <name>Java Repository</name>  <url>http://download.java.net/maven/2/</url>  </repository>  <repository>  <id>springsource-repos</id>  <name>SpringSource Repository</name>  <url>http://repo.spring.io/release/</url>  </repository><repository>  <id>activiti-repos</id>  <name>Activiti Repository</name>  <url>https://maven.alfresco.com/nexus/content/groups/public</url>  </repository>  <repository>  <id>activiti-repos2</id>  <name>Activiti Repository 2</name>  <url>https://app.camunda.com/nexus/content/groups/public</url>  </repository>  <repository>   <id>thinkgem-repos</id>   <name>ThinkGem Repository</name>  <url>http://git.oschina.net/thinkgem/repos/raw/master</url>  </repository>  <repository>   <id>thinkgem-repos2</id>   <name>ThinkGem Repository 2</name>  <url>https://raw.github.com/thinkgem/repository/master</url>  </repository>  <repository>  <id>alibaba-opensource</id>  <name>alibaba-opensource</name>  <url>http://code.alibabatech.com/mvn/releases/</url>  <layout>default</layout>  </repository>  <repository>  <id>alibaba-opensource-snapshot</id>  <name>alibaba-opensource-snapshot</name>  <url>http://code.alibabatech.com/mvn/snapshots/</url>  <layout>default</layout>  </repository>   --></repositories>  <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- spring版本号 --><spring.version>4.3.5.RELEASE</spring.version><hibernate.version>5.2.6.Final</hibernate.version><!-- log4j日志文件管理包版本 --><!-- <slf4j.version>1.7.10</slf4j.version> --><log4j.version>1.2.17</log4j.version></properties><!-- maven打成war包放到tomcat目录下,即可运行 --><build><finalName>LsProject</finalName><plugins><plugin><artifactId>maven-war-plugin</artifactId></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build><dependencies><!-- junit测试包 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- servlet api jar --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>3.0-alpha-1</version><scope>provided</scope></dependency><!-- jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><!-- 文件上传 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.2.2</version></dependency><!-- fastJson json数组有关的 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.26</version></dependency><!-- 使用 Jackson 把 Java 对象转换成 JSON 字串 --><dependency><groupId>org.codehaus.jackson</groupId><artifactId>jackson-mapper-asl</artifactId><version>1.9.11</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.6.3</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.6.3</version></dependency><!-- mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.29</version></dependency><!-- 阿里巴巴数据源包 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.2</version></dependency><!-- 日志文件管理包 --><!-- log start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><!-- <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency> --><!-- aspectjweaver.jar这是Spring AOP所要用到的包 --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.7.1</version></dependency><!-- hibernate4 --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-entitymanager</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-ehcache</artifactId><version>${hibernate.version}</version></dependency><dependency><groupId>org.hibernate.javax.persistence</groupId><artifactId>hibernate-jpa-2.1-api</artifactId><version>1.0.0.Final</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version>
</dependency><!-- spring mvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- spring3 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version>
</dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</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-expression</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency></dependencies>
</project>

这个就是pom的全配置,同时还列出了几个Maven的远程仓库。国内的网络就不提了。有时候当一些仓库连接不通畅时下载jar包就会奇慢无比。所以多试几个地址还是有好处的。
当然下载jar包还有一种方法就是用命令行到工程目录然后执行mvn clean install -U就可以下载jar包了。
jar包搞定的就是JavaEE框架的配置文件了,这里不在赘述。配置如下:
spring.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" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
"><!-- 引入属性文件 --><context:property-placeholder location="classpath:config.properties" /><!-- 自动扫描dao和service包(自动注入) --><context:component-scan base-package="com.ls.dao,com.ls.service" />
</beans>

spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.1.xsd  http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"><mvc:annotation-driven /><!--静态资源映射 --><mvc:resources mapping="/images/**" location="/WEB-INF/images/" /><mvc:resources mapping="/css/**" location="/WEB-INF/css/"/><mvc:resources mapping="/js/**" location="/WEB-INF/js/" /><mvc:resources mapping="/html/**" location="/WEB-INF/html/" /><bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><list><bean           class="org.springframework.http.converter.StringHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/plain;charset=UTF-8</value></list></property></bean></list></property></bean><!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --><bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><property name="messageConverters"><list><bean                   class="org.springframework.http.converter.StringHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/plain;charset=UTF-8</value></list></property></bean><bean                   class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><property name="supportedMediaTypes"><list>                          <value>application/json;charset=UTF-8</value></list></property></bean></list></property></bean>
</beans>

spring-hibernate.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" xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
"><!-- 配置数据源 --><bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="${jdbc_url}" /><property name="username" value="${jdbc_username}" /><property name="password" value="${jdbc_password}" /><!-- 初始化连接大小 --><property name="initialSize" value="0" /><!-- 连接池最大使用连接数量 --><property name="maxActive" value="20" /><!-- 连接池最大空闲 --><property name="maxIdle" value="20" /><!-- 连接池最小空闲 --><property name="minIdle" value="0" /><!-- 获取连接最大等待时间 --><property name="maxWait" value="60000" /><property name="validationQuery" value="${validationQuery}" /><property name="testOnBorrow" value="false" /><property name="testOnReturn" value="false" /><property name="testWhileIdle" value="true" /><property name="timeBetweenEvictionRunsMillis" value="60000" /><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><property name="minEvictableIdleTimeMillis" value="25200000" /><!-- 打开removeAbandoned功能 --><property name="removeAbandoned" value="true" /><!-- 1800秒,也就是30分钟 --><property name="removeAbandonedTimeout" value="1800" /><!-- 关闭abanded连接时输出错误日志 --><property name="logAbandoned" value="true" /><!-- 监控数据库 --><!-- <property name="filters" value="stat" /> --><property name="filters" value="mergeStat" /></bean><!-- 配置hibernate session工厂 --><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop><prop key="hibernate.format_sql">${hibernate.format_sql}</prop></props></property><!-- 自动扫描注解方式配置的hibernate类文件 --><property name="packagesToScan"><list><value>com.phn.model</value></list></property></bean><!-- 配置事务管理器 --><bean name="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 注解方式配置事物 --><!-- <tx:annotation-driven transaction-manager="transactionManager" /> --><!-- 拦截器方式配置事物 --><tx:advice id="transactionAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="add*" /><tx:method name="save*" /><tx:method name="update*" /><tx:method name="modify*" /><tx:method name="edit*" /><tx:method name="delete*" /><tx:method name="remove*" /><tx:method name="repair" /><tx:method name="deleteAndRepair" /><tx:method name="get*" propagation="SUPPORTS" /><tx:method name="find*" propagation="SUPPORTS" /><tx:method name="load*" propagation="SUPPORTS" /><tx:method name="search*" propagation="SUPPORTS" /><tx:method name="datagrid*" propagation="SUPPORTS" /><!-- 这里是针对我写的判断用户是否存在数据库的方法的事务,如果不配置的话就会出现no session异常 --> <tx:method name="is*" /><tx:method name="*" propagation="SUPPORTS" /></tx:attributes></tx:advice><aop:config><aop:pointcut id="transactionPointcut" expression="execution(* com.phn.service..*Impl.*(..))" /><aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" /></aop:config>
</beans>

config.properties注意在配置数据库时要将自己数据库的信息配置正确才行,这里是mysql的配置。

#MySQL \u7684\u914D\u7F6E
hibernate.dialect=org.hibernate.dialect.MySQLDialect
driverClassName=com.mysql.jdbc.Driver
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://localhost:3306/phn?useUnicode=true&characterEncoding=utf-8
jdbc_username=root
jdbc_password=123456
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=false
sessionInfoName=sessionInfo
uploadFieldName=filedata
uploadFileMaxSize=20971520
uploadFileExts=txt,rar,zip,doc,docx,xls,xlsx,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid
uploadDirectory=attached

log4j.properties

log4j.rootLogger=INFO,A1,R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Target=System.out
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%c]%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=sshf.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.Threshold=ALL
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name></display-name><!-- spring hibernate --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml,classpath:spring-hibernate.xml</param-value></context-param><!-- openSessionInView配置 --><filter><filter-name>openSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class><init-param><param-name>singleSession</param-name><param-value>true</param-value></init-param></filter><!--spring mvc 配置 --><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:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup> <!-- 是启动顺序,让这个Servlet随Servletp容器一起启动。 --></servlet><servlet-mapping><servlet-name>springMVC</servlet-name><url-pattern>/</url-pattern> <!-- 会拦截/的请求。 --></servlet-mapping><!-- encodeing --><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><!-- encoding filter for jsp page --><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><welcome-file-list><welcome-file>/WEB-INF/jsp/login.jsp</welcome-file></welcome-file-list>
</web-app>

至此,配置文件已全部完成。接下来就可以编写代码了。使用框架的好处就是可以相互解耦,层次分明。所以分包时根据相应的名字来命名包。
首先是实体类:UserEntity.java这里采用了注解。所以要注意@column中name的属性要和数据库中的列名一样。

package com.ls.model;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;/*** @author ls*/
@Table(name="custom")
@Entity
public class UserEntity {private int id;private String name;private String account;private String password;private String sex; private String phone;@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "UID", nullable = false, length = 11)public int getId() {return id;}public void setId(int id) {this.id = id;}@Column(name = "UNAME", nullable = false, length = 20)public String getName() {return name;}public void setName(String name) {this.name = name;}@Column(name = "UACCOUNT", nullable = false, length = 20)public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}@Column(name = "UPASSWORD", nullable = false, length = 20)public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Column(name = "USEX", nullable = false, length = 4)public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@Column(name = "UPHONE", nullable = false, length = 15)public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}
}

接下来是dao层,一个接口一个实现的类
接口UserDao.java

package com.ls.dao;
import com.ls.model.UserEntity;
/*** @author ls*/
public interface IUserDao {public boolean isExist(UserEntity user);
}

UserDaoImpl.java

package com.ls.dao.impl;import javax.annotation.Resource;import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;import com.ls.dao.IUserDao;
import com.ls.model.UserEntity;/*** @author ls*/@Repository("userDao")
public class UserDaoImpl implements IUserDao {@Resourceprotected SessionFactory sessionFactory;public Session getSession() {return sessionFactory.getCurrentSession();}public void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}public boolean isExist(UserEntity user) {Session session = this.getSession();String hql = "from UserEntity where username =? and password = ?";Query query = session.createQuery(hql);query.setString(0, user.getAccount());query.setString(1, user.getPassword());if (query.list().size() >= 1) {return true;}return false;}
}

然后是service层,同样是一个接口,一个实现类
接口UserService.java

package com.ls.service;
import com.ls.model.UserEntity;
/*** @author ls*/
public interface UserService {public boolean isExist(UserEntity user);
}

UserServiceImpl.java

package com.ls.service.impl;import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ls.dao.IUserDao;
import com.ls.model.UserEntity;
import com.ls.service.IUserService;
/*** @author ls*/
@Transactional
@Service("userService")
public class UserServiceImpl implements IUserService {@Resourceprivate IUserDao userDao;@Overridepublic boolean isExist(UserEntity user) {return userDao.isExist(user);}
}

最后就是控制层了
UserController.java

package com.ls.controller;import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ls.model.UserEntity;
import com.ls.service.IUserService;/*** @author ls*/
@Controller
@RequestMapping("/user")
public class UserController{@Resourceprivate IUserService userService;@ResponseBody@RequestMapping(value="/login", method = RequestMethod.POST)public Map<String,Object> login( UserEntity user){Map<String,Object> map = new HashMap<String,Object>();//System.out.println(user.toString());boolean loginResult = userService.isExist(user);map.put("loginResult", loginResult);return map;}
}

然后就是View层。是html+js实现的一个简单的登录页面。
login.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
<meta 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">
<link rel="stylesheet" type="text/css" href="../css/login.css">
<script type="text/javascript" src="../js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="../js/md5.js"></script>
<script type="text/javascript" src="../js/login.js"></script>
</head>
<body><div>UserName:<input type="text" name="account" /> <br/>PassWord:<input type="password" name="password" /><br/> <input type="submit" id="loginBtn" value="Login" /></div>
</body>
</html>

login.js其中遇到了一个问题就是html中请求数据,url要写全

$(function() {$("#loginBtn").click(function() {console.log("login");var account = $("input[name=account]").val();var password = $("input[name=password]").val();var user = {"account" : account,"password" : password};$.ajax({type : "post",dataType : "json",data : user,contentType : "application/x-www-form-urlencoded;charset=UTF-8",url : "http://localhost:8080/LSProject/user/login",// 同步async: false,(默认是true);// 如上:false为同步,这个方法中的Ajax请求将整个浏览器锁死,// 只有test.jsp执行结束后,才可以执行其它操作。async : false,success : function(data) {if (false == data.loginResult) {alert("用户名或者密码错误,请重新登录!");} else if (true == data.loginResult) {alert("登录成功!");var indexUrl = window.location.protocol+"//"+window.location.host+"/LSProject/"+"html/index.html";window.location = indexUrl;}},error : function() {alert("服务器发生故障,请尝试重新登录!");}});});
});

至此整个工程搭建完毕。

小结:可能遇到的问题,在我搭建工程的时候,由于网络问题导致下载的jar包有问题,使我的工程一直跑不起来。具体的报错就是Tomcat的组件无法启动成功,遇到类似问题时可以检查一下jar是否完整。还有就是MySql数据库的信息配置,这个要配置正确。

Maven搭建Springmvc+Spring+Hibernate+html相关推荐

  1. Maven搭建springMVC+spring+hibernate环境

    这次不再使用struts2做控制器,采用spring自己的springMVC框架实现. 首先,改写pom.xml文件,不需要struts2的相关jar了. pom.xml <project xm ...

  2. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  3. 详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    转载(https://www.jb51.net/article/130560.htm) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  4. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)【转】

    一. 框架详情 Spring 是一个轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用 ...

  5. springmvc+spring+hibernate集成cxf

    首先说一下背景,我们的系统是springmvc+spring+hibernate,已经能正常运行,现在要开发webservice,选用cxf. 1.maven依赖 <dependency> ...

  6. maven 构建 springmvc + spring security 权限控制示例

    2019独角兽企业重金招聘Python工程师标准>>> maven 构建 springmvc + spring security 权限控制示例. 介绍 :Spring Securit ...

  7. 孙宇java_[JAVA] 孙宇老师Struts2+Hibernate4+Maven+EasyUI+SpringMvc+Spring+Mybatis+Maven整合课程...

    资源介绍 孙宇老师Struts2+Hibernate4+Maven+EasyUI+SpringMvc+Spring+Mybatis+Maven整合课程 ===============课程目录===== ...

  8. 快速搭建springmvc+spring data jpa工程

    一.前言 这里简单讲述一下如何快速使用springmvc和spring data jpa搭建后台开发工程,并提供了一个简单的demo作为参考. 二.创建maven工程 http://www.cnblo ...

  9. Maven搭建SpringMVC+Mybatis项目详解【转】

    为什么80%的码农都做不了架构师?>>>    前言 最近比较闲,复习搭建一下项目,这次主要使用Spring+SpringMVC+Mybatis.项目持久层使用Mybatis3,控制 ...

最新文章

  1. 2017-2018-1 20155328 《信息安全系统设计基础》第十四周学习总结
  2. 腾讯后台开发面试题--整理1
  3. LRU(Least Recently Used)算法的理解
  4. centos7双网卡,一个连公网,一个连内网
  5. linux mysql定时增量备份_Mysql 日常备份和增量备份脚本(Linux)
  6. Node mysql mvc vue_net MVC +Vue.js+Element UI 笔记
  7. 查看usb控制器固件日期_三星发布两款USB Type-C电源控制器芯片 支持100W的充电功率...
  8. 2012年最佳免费网站和移动应用 PSD 界面素材揭晓
  9. 用java画网状图_如何在背景中绘制一个带网格线的漂亮条形图?
  10. python基础知识-一篇文章搞定Python全部基础知识
  11. 智能爆炸的真实(上)
  12. QuickCHM 2.6“不支持此接口”错误的解决
  13. datagrid的deleteRow使用
  14. 国内物联网平台初探(八):中移物联网开放平台OneNet
  15. ubuntu20.04 + kiosk + chrome打造一体机系统
  16. 软件测试工程师面试如何描述自动化测试是怎么实现的?
  17. 文章阅读统计php,WordPress博客统计文章阅读次数及访客数并刷访问数
  18. CloudSim4.0 Learning(1)
  19. 如果给定世界价格是1单位计算机交换,克鲁格曼《国际经济学》计算题及答案...
  20. microstation level2 1001 hatch

热门文章

  1. 你知道怎么选择线上培训学校吗
  2. 节约60%成本!虎牙直播云端大数据是怎么做到的?
  3. 《古风·三》 李白
  4. 全球顶级创投布局中国SDN市场,云杉网络完成千万美元B轮融资
  5. 记录aui的toast使用
  6. 中山市事业编计算机类专业知识题目,中山大学计算机历年复试面试考研试题合集(4)...
  7. [笔记]Windows核心编程《番外篇》几种Hook类型
  8. 短视频搬运如何伪原创 手机小视频用去水印用改md5
  9. 双屏是智能手机的未来么?vivo NEX双屏版全球首发
  10. 2021冬至海报大赏