古语有云: 万恶淫为首,百善孝为先。 我们后辈当自勉。

上一章简单介绍了Maven创建一个Servlet项目(五),如果没有看过,请观看上一章

一. Maven 整合SSH 框架

关于SSH 框架,不了解的,可以看老蝴蝶以前写的系列文章: Struts2 ,Hibernate 和Spring

SSH 框架,目前用的较少,大多数都是用 SSM 框架, 但 Maven 整合 SSH 框架也需要了解一下。

以一个简单的例子, 用户 User 来进行整合。

二. Maven 整合SSH 框架的具体步骤

二.一 创建数据库, 取名为 ssh. 编码用 utf-8

利用 Navicat For MySQL 软件进行创建数据库

Hibernate 可以自动生成表, 故不需要创建表 user.

二.二 创建 Maven 项目,类型为 war 类型

具体的详细步骤 可以观看上一章的内容。

文件—>新建—>选择其他—>Maven Project–>勾选跳过—>填写 SSH框架的信息

公司为 com.yjl, 项目为 SSH, packagings 类型为 war 类型。

创建之后,缺少 web.xml 报错。

选中 SSH 项目, 右键 Java EE Tools——>Generate Deployment Descriptor Stub, 系统便会自动创建 web.xml 文件了。

二.三 在 pom.xml 中添加依赖 (最重要的一步)

在pom.xml 中,需要将 struts2, spring,hibernate 等框架的 jar包引用进来,同时也要引入 log4j 日志包, 和jstl 库包, junit 测试包, servlet-api 的Tomcat 运行环境包。 在进行依赖的时候,要注意引入的顺序。

为了简单,老蝴蝶 直接就把 pom.xml 所需要的依赖放置进来了。 不了解这些jar包的, 可以观看老蝴蝶以前写的文章:
S2SH框架整合XML版(九)

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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.yjl</groupId><artifactId>SSH</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><dependencies><!-- junit 测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- tomcat --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><!-- jstl 与 standard --><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><!-- struts2依赖 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>2.3.24</version><exclusions><exclusion><groupId>javassist</groupId><artifactId>javassist</artifactId></exclusion></exclusions></dependency><!-- 关于json的依赖 --><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.4</version></dependency><!-- struts2与 json的依赖 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-json-plugin</artifactId><version>2.3.24</version></dependency><!-- hibernate的依赖 --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>5.0.7.Final</version></dependency><!-- aspectjweaver 依赖 --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.3</version></dependency><!-- jboss-api依赖 --><dependency><groupId>org.jboss.spec.javax.transaction</groupId><artifactId>jboss-transaction-api_1.2_spec</artifactId><version>1.1.1.Final</version></dependency><dependency><groupId>com.fasterxml</groupId><artifactId>classmate</artifactId><version>1.4.0</version></dependency><!-- hibernate与c3p0整合 --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-c3p0</artifactId><version>5.0.7.Final</version></dependency><!-- spring依赖 --><!-- spring web依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.2.4.RELEASE</version></dependency><!-- spring-aspects依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.2.4.RELEASE</version></dependency><!-- spring 与orm 依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.2.4.RELEASE</version></dependency><!-- spring 测试的依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.2.4.RELEASE</version></dependency><!-- strtus2与 spring整合 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>2.3.24</version></dependency><!-- mysql依赖 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.32</version></dependency><!-- 日志依赖 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.5</version></dependency><!-- slf4j 与log4j进行整合 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency></dependencies><!--tomcat 插件配置--><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><!--tomcat的插件名, tomcat7-maven-plugin, 用的是tomcat7版本 --><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8026</port>  <!--tomcat的端口号 --><path>/ssh</path> <!--tomcat的项目名 --><uriEncoding>UTF-8</uriEncoding> <!-- 防止get 提交时乱码 --></configuration></plugin></plugins></build></project>

所引用的jar 包有

二.四 创建各个 配置文件,将各自框架的 配置信息放置进去

配置文件 要放置在 src/main/resources 里面。

1 . jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=abc123

2 .log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:\mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change 'info' to 'debug' ###log4j.rootLogger=info, stdout

3 . hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入相应的结束 -->
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- 对节点暂时不做介绍 -->
<hibernate-configuration><session-factory><!-- 关于Hibernate的相应配置 --><!-- 引入方言 --><property name="dialect">org.hibernate.dialect.MySQL5Dialect</property><property name="hibernate.show_sql">true</property><property name="hibernate.hbm2ddl.auto">update</property><property name="hibernate.format_sql">true</property><!-- 引入相应的约束文件  ctrl点击时可以正确进入--><mapping resource="com/yjl/pojo/User.hbm.xml"/></session-factory>
</hibernate-configuration>

4 . struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><!-- 开启开发者模式 --><constant name="struts.devMode" value="true" /><!-- 把扩展名配置为action --><constant name="struts.action.extension" value="action" /><!-- 设置主题为默认,即为标签本来的样子,不用struts2中设置好的标签 --><constant name="struts.ui.theme" value="simple"></constant><!-- 设置编码格式为utf-8,避免出现乱码的情况 --><constant name="struts.i18n.encoding" value="utf-8"></constant><constant name="struts.action.excludePattern" value="/JS/.*?" /><!-- 引入相应的文件 --><include file="struts2/struts-user.xml"></include>
</struts>

5 . struts2 下的 struts2-user.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package name="user" extends="struts-default" namespace="/"><action name="User_*" class="userAction" method="{1}"><result name="list">list.jsp</result><result name="toList"  type="redirectAction">User_list</result><result name="detail">detail.jsp</result></action></package>
</struts>

6 . applicationContext.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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 采用注解的方式进行 --><!-- 开启注解扫描 --><context:component-scan base-package="com.yjl"></context:component-scan><!-- 引入配置文件  前面要加上classpath--><context:property-placeholder location="classpath:jdbc.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driverClassName}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><!-- 创建sessionFactory --><bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="configLocations" value="classpath:hibernate.cfg.xml"></property></bean><!-- 创建Hibernate模板 --><bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"></property></bean><!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean><!-- 开启注解事务管理 --><tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

二.五 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_2_5.xsd" id="WebApp_ID" version="2.5"><display-name>SSH整合</display-name><!-- 配置spring 启动时的监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 配置启动参数 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.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><!-- 配置struts2的过滤器 --><filter><filter-name>struts</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter>  <filter-name>openSessionInViewFilter</filter-name>  <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>  <init-param>  <param-name>singleSession</param-name>  <param-value>true</param-value>  </init-param>  </filter>  <filter-mapping>  <filter-name>openSessionInViewFilter</filter-name>  <url-pattern>*.action</url-pattern>  </filter-mapping>  <welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>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>
</web-app>

配置文件就算了配置好了,接下来,就是代码部分了。

二.六 User 实体类和其配置文件

User.java 所在的包是 com.yjl.pojo 包。

package com.yjl.pojo;
/**@author:岳泽霖@date: 2019年4月20日 上午10:06:22@Description 类的相关描述
*/
public class User {/*** @param id 主键编号* @param name 姓名* @param sex 性别* @param age 年龄*/private Integer id;private String name;private String sex;private Integer age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age+"]";}
}

User.hbm.xml 配置文件 (目前放置在 src/main/java/resources/ com/yjl/pojo 目录下,即与 User.java 同级目录)

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入相应的约束 -->
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--暂时不介绍具体的标签什么意思-->
<hibernate-mapping package="com.yjl.pojo"><!-- 具体的实体类 --><class name="User" table="user"><!-- 主键 --><id name="id" column="id"><generator class="native"></generator></id><!-- 其余属性 --><property name="name"></property><property name="sex" ></property><property name="age"></property></class>
</hibernate-mapping>

二.七 dao层及其实现类 UserDao 和UserDaoImpl

UserDao.java

package com.yjl.dao;
import java.util.List;
import com.yjl.pojo.User;
/**@author:岳泽霖@date: 2019年5月22日 下午8:04:06@Description 类的相关描述
*/
public interface UserDao{User getById(Integer id);List<User> findAll();void insertInfo(User user);void updateInfo(User user);void deleteById(Integer id);
}

UserDaoImpl.java

package com.yjl.dao.impl;import java.util.List;import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;import com.yjl.dao.UserDao;
import com.yjl.pojo.User;/**@author:岳泽霖@date: 2019年5月22日 下午8:04:43@Description 类的相关描述
*/
@Repository("userDao")
public class UserDaoImpl implements UserDao {@Autowiredprivate SessionFactory sessionFactory; @Overridepublic User getById(Integer id) {return sessionFactory.getCurrentSession().get(User.class, id);}@SuppressWarnings("unchecked")@Overridepublic List<User> findAll() {return sessionFactory.getCurrentSession().createQuery("FROM User").list();}@Overridepublic void insertInfo(User user) {sessionFactory.getCurrentSession().save(user);}@Overridepublic void updateInfo(User user) {sessionFactory.getCurrentSession().update(user);}@Overridepublic void deleteById(Integer id) {User user=getById(id);sessionFactory.getCurrentSession().delete(user);}}

二.八 service层及其实现类 UserService和 UserServiceImpl

UserService.java

package com.yjl.service;import java.util.List;import com.yjl.pojo.User;/**@author:岳泽霖@date: 2019年5月22日 下午8:04:57@Description 类的相关描述
*/
public interface UserService{/*** @param t pojo插入对象* @return 添加对象*/void addEntity(User t);/*** * @param id 主键编号* @return 根据id编号删除当前对象*/void deleteEntity(Integer id);/*** @param t pojo更新对象* @return  更新对象*/void updateEntity(User t);/*** @param id 主键编号* @return 根据id编号查询当前对象,是唯一值.*/User getEntityById(Integer id);/*** @return 查询所有的对象信息*/List<User> findAllEntitys();}

UserServiceImpl.java

package com.yjl.service.impl;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import com.yjl.dao.UserDao;
import com.yjl.pojo.User;
import com.yjl.service.UserService;/**@author:yuejl@date: 2019年5月22日 下午8:05:15@Description 类的相关描述
*/
@Service("userService")
@Transactional
public class UserServiceImpl implements UserService {@Resourceprivate UserDao userDao;@Overridepublic void addEntity(User t) {userDao.insertInfo(t);}@Overridepublic void deleteEntity(Integer id) {userDao.deleteById(id);}@Overridepublic void updateEntity(User t) {userDao.updateInfo(t);}@Overridepublic User getEntityById(Integer id) {return userDao.getById(id);}@Overridepublic List<User> findAllEntitys() {return userDao.findAll();}}

二.九 action层 UserAction

package com.yjl.web.action;import java.util.List;import javax.annotation.Resource;import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.yjl.pojo.User;
import com.yjl.service.UserService;/**@author:岳泽霖@date: 2019年5月22日 下午8:05:24@Description 类的相关描述
*/
@Controller
@Scope("prototype")
public class UserAction extends ActionSupport implements ModelDriven<User>{private static final long serialVersionUID = 1L;@Resourceprivate UserService userService;private User user=new User();@Overridepublic User getModel() {return user;}public String list(){List<User> userList=userService.findAllEntitys();ActionContext.getContext().getValueStack().set("userList", userList);return "list";}public String add(){System.out.println("输出值:"+user.toString());userService.addEntity(user);return "toList";}public String update(){userService.updateEntity(user);return "toList";}public String delete(){userService.deleteEntity(user.getId());return "toList";}public String getById(){User info=userService.getEntityById(user.getId());ActionContext.getContext().getValueStack().push(info);return "detail";}}

返回值 的 String 要与 struts-user.xml 的值相对应。

二.十 前端页面 展示

bootstrap 里面放置的是 bootstrap 框架

list.jsp 页面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="${pageContext.request.contextPath}/JS/bootstrap/css/bootstrap.min.css" type="text/css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/JS/jquery/jquery-3.1.0.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/JS/bootstrap/js/bootstrap.min.js"></script>
<title>显示列表信息</title>
</head>
<body><div class="container"><div class="row"><table class="table table-bordered table-hover"><caption>查看用户信息</caption><thead><tr><th class="col-xs-2">姓名</th><th class="col-xs-2">性别</th><th class="col-xs-2">年龄</th><th class="col-xs-4" colspan="3">相关操作 <span style="padding-left:40px"><s:a action="User_add.action?name=岳泽霖&age=24&sex=男">添加</s:a>   </span></th></tr></thead><tbody><s:iterator value="userList" var="user"><tr><td>${user.name}</td><td>${user.sex}</td><td>${user.age}</td><td><s:a action="User_getById.action?id=%{id}">查看详情</s:a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<s:a action="User_update.action?id=%{id}&name=岳泽霖&age=25&sex=男">修改</s:a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<s:a action="User_delete.action?id=%{id}">删除</s:a></tr></s:iterator></tbody></table></div></div>
</body>
</html>

detail.jsp 页面

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="${pageContext.request.contextPath}/JS/bootstrap/css/bootstrap.min.css" type="text/css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/JS/jquery/jquery-3.1.0.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/JS/bootstrap/js/bootstrap.min.js"></script>
<title>查看详情</title>
</head>
<body><div class="container"><div class="row"><table class="table table-bordered table-hover"><caption>查看用户信息</caption><thead><tr><th class="col-xs-2">姓名</th><th class="col-xs-2">性别</th><th class="col-xs-2">年龄</th></tr></thead><tbody><tr><td>${name}</td><td>${sex}</td><td>${age}</td></tr></tbody></table></div></div>
</body>
</html>

二.十一 启动服务器,输入命令 运行

选中 SSH 项目, 运行方式–> maven build…

输入命令: clean tomcat7:run

控制台会报错,打印输出,最后的原因是

说是 User.hbm.xml 文件没有找到。

Maven 运行时,会把 src/main/java 里面的内容都编译成 .class 文件, 会把 com/yjl/pojo/User.hbm.xml 文件去除掉,所以说找不到该文件。

可以把该文件 User.hbm.xml 放置在 src/main/resources 下面。

在resources 下面创建 com/yjl/pojo 文件,里面放置 User.hbm.xml 文件。

这个时候,再次运行命令 clean tomcat7:run 便可以正常运行了

二.十二 测试

发现 ssh 数据库下创建了 user 表,


里面没有数据,手动添加几条

输入 http://localhost:8026/ssh/User_list.action

进入查询列表

点击添加按钮之后

将岳泽霖 那一条进行 修改, 即点击其后面的修改按钮

点击查看详情

将老蝴蝶 那一条记录进行删除,点击后面的删除按钮

是正常运行的

Maven 进行整合 SSH项目,是成功的。

谢谢!!!

Maven整合SSH项目(六)相关推荐

  1. 使用IDEA和Maven整合SSH

    使用IDEA和Maven整合SSH SSH介绍 开发工具 整合SSH 一.准备数据库 二.创建项目 1.使用maven快速创建web工程 2.建包,创建配置文件模版 3.引入项目所需jar文件 4.编 ...

  2. 使用maven整合SSH框架详细步骤

    (文章所使用的的框架为Struts2+Spring+Hibernate,项目的结构图参照文章尾部) 1.第一步:创建maven工程,在pom.xml文件中导入需要的jar包依赖: <projec ...

  3. myeclipse使用maven整合ssh配置

    最近写项目,由于公司需求,使用myeclispe来开发maven项目,关于maven就不再介绍,无论是jar包管理功能,还是作为版本构建工具,优点自然是很多,下面先贴出所需要的配置文件. maven所 ...

  4. IDEA用maven整合ssh框架

    2019独角兽企业重金招聘Python工程师标准>>> web.xml配置 <?xml version="1.0" encoding="UTF-8 ...

  5. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven

    在这里整合一下,使用Maven构建一个SSH项目 1.新建一个Web项目 可以参照前面的博客 2.添加依赖,修改pom.xml [html] view plaincopy <project xm ...

  6. maven整合struts: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException

    上一个文章小编解决了在myeclipse中如何正常解决maven的版本与jdk的问题: 今天将解决maven整合ssh运行的问题,希望能够帮助大家:使用tomcat:run 命令运行程序,报错 小编在 ...

  7. maven hibernat mysql_手把手教你用 maven 搭建 SSH (struts2 +hibernate5 + spring5) 项目

    手把手教你搭建 SSH 环境 一.项目环境搭建 1.1 配置 Spring 坐标依赖 1.2 配置 hibernate 坐标依赖 1.3 配置 struts2 坐标依赖 1.4 配置Java EE 坐 ...

  8. spring学习(四) ———— 整合web项目(SSH)

    清楚了spring的IOC 和 AOP,最后一篇就来整合SSH框架把,记录下来,以后应该会用的到. --WH 一.web项目中如何使用spring? 当tomcat启动时,就应该加载spring的配置 ...

  9. (五)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建根项目

    上一篇我们介绍<springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven模块规划>,从今天开始,我们将对代码的每一个构建做详细的记录,能够帮助大家 ...

  10. maven整合SSM搭建项目

    Maven整合SSM搭建项目 目录 一.概要. 2 1.1 Maven2 1.1.1 Maven的基本概念. 2 1.1.2 Maven的核心概念. 2 1.1.2 Maven的目标. 5 1.1.3 ...

最新文章

  1. 模板 - 莫比乌斯反演(常用技巧)
  2. POJ 1840 Eqs 解方程式, 水题 难度:0
  3. github snap android,GitHub - albuer/heapsnap: HeapSnap 是一个定位内存泄露的工具,适用于Android平台。...
  4. linux重新加载php.ini,linux修改php.ini后重新加载配置文件命令
  5. javascript省市三层联动,修改
  6. how to create BRF application via code
  7. jJMeter UDP Request:不等待服务器响应
  8. 中国人为什么学不会英语
  9. 苹果供应商:iPhone SE 3 5G和AirPods生产平稳
  10. python资产管理系统_Python [5] IT资产管理(上)
  11. appinventor广州服务器网页,app inventor服务器
  12. 使用python下载文件_利用python web框架做文件流下载
  13. Python的numpy,1.15.0和1.14.5,函数结果可能存在差异
  14. angular集成websocket_angular使用 websocket,少点套路,多一点真诚
  15. nginx 连接php
  16. 86版五笔单字效率分析
  17. 线性代数之——消元法
  18. 电磁场与仿真软件(24)
  19. IT女白领突击怀孕避裁员
  20. English总结(一)-- 常用语句篇

热门文章

  1. 关于对CSDN这些技术博客类网站的一些个人看法
  2. 怎么在档案写自己的计算机水平,关于个人档案怎么写范文
  3. 大数据之大数据技术架构
  4. 贴片钽电容,P型 A型 B型 C型 D型 E型怎么区分?
  5. 谷歌搜索、谷歌学术、Github的镜像网站
  6. 5G到底厉害在什么地方?和4G有什么不同?
  7. 《亲密关系》良句收录和观后观想
  8. 使用IIS部署若依前后端分离项目
  9. Excel插入斜线表头
  10. 怎么理解函数式编程?