1. 程式人生 > >ssh2框架整合詳細版(使用較新jar包)

ssh2框架整合詳細版(使用較新jar包)

ssh2框架整合+Maven+詳細配置、多種方式介紹,中間碰到問題與注意點,部分已有指出。

步驟一

匯入必備junit、javax.servlet相關jar包,maven配置如下:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency>

由於使用MySQL,因此需要匯入相應驅動包,Maven配置如下:

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency
>
<groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.5</version> </dependency>

步驟二

struts2環境配置

maven匯入jar包

<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
<dependency>
    <groupId
>
org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.10.1</version> </dependency>

得到jar包:

這裡寫圖片描述

配置log檔案log4j.properties.與根目錄或者config或者resources檔案下。

log4j內容

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
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=G:\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=warn, stdout

在web.xml中配置struts2核心過濾器

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

新增struts.xml配置檔案,與resources或者根目錄下

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <!-- 開發模式 -->
    <constant name="struts.devMode" value="true"></constant>
    <package name="ssh" namespace="/" extends="struts-default">
    </package>
</struts>

Spring環境配置

maven配置:

<!-- http://projects.spring.io/spring-framework/ -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.5.RELEASE</version>
</dependency>

得到jar包:

這裡寫圖片描述

在resource或者更目錄下配置Spring核心配置檔案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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
</beans>

在web.xml檔案中配置Spring的監聽

<!-- needed for ContextLoaderListener -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!-- Bootstraps the root web application context before servlet initialization -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

Hibernate環境配置(hibernate.cfg.xml配置的方式)

maven配置:

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.9.Final</version>
</dependency>

得到jar包:

這裡寫圖片描述

在resources或者根目錄下配置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>
        <!-- 1 資料庫基本四項配置  -->
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/dbtest?characterEncoding=utf-8&amp;serverTimezone=UTC&amp;allowMultiQueries=true</property>
        <property name="connection.username">root</property>
        <property name="connection.password">asd123asd</property>
        <!-- 2方言 -->
        <property name="dialect">
            org.hibernate.dialect.MySQL5Dialect
        </property>
        <!-- 3SQL相關 -->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <!-- 取消bean校驗 -->
        <property name="javax.persistence.validation.mode">none</property>

        <!-- 新增對映檔案 -->
    </session-factory>
</hibernate-configuration>

基本環境已經配置好
這裡以實現使用者名稱密碼登入功能為例,展示ssh2整合。

步驟三

hibernate 與 Spring整合

在Spring 和 Hibernate 的整合時需要了解一下三個物件:

  • HibernateTemplate:相當於Hibernate的session可以直接操作PO類,依賴於SessionFactory。
  • LocalSessionFactoryBean:獲得SessionFactory。
  • HibernateTransactionManager:Hibernate的事務管理器。

Spring 和 Hibernate 的整合,需要再新增一個支援整合的JAR包spring-orm-xxx.RELEASE.jar包,
該JAR包。其maven配置:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>4.3.5.RELEASE</version>
</dependency>

以查詢使用者資訊為例
資料庫中有表user,欄位有:id、username、password
編寫一個與資料庫對映的實體類user

public class User {
    private Integer id;
    private String username;
    private String password;
    public User(){}
    ... get/set
}

對應的對映檔案

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-4-29 20:08:33 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
    <class name="prv.hgs.domain.User" table="USER">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="assigned" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="USERNAME" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" />
        </property>
    </class>
</hibernate-mapping>

這裡僅以使用者id查詢為例

(方式一) 保留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>
        <!-- 1 資料庫基本四項配置  -->
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/dbtest?characterEncoding=utf-8&amp;serverTimezone=UTC&amp;allowMultiQueries=true</property>
        <property name="connection.username">root</property>
        <property name="connection.password">asd123asd</property>
        <!-- 2方言 -->
        <property name="dialect">
            org.hibernate.dialect.MySQL5Dialect
        </property>
        <!-- 3SQL相關 -->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <!-- 取消bean校驗 -->
        <property name="javax.persistence.validation.mode">none</property>

        <!-- 新增對映檔案 -->
        <mapping resource="prv/hgs/domain/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

實現DAO層:

public interface UserDao {
    User findUserById(Integer id);
}

UserImp實現

@Component
public class UserImp implements UserDao{
    @Autowired
    private HibernateTemplate hibernateTemplate;
    @Override
    public User findUserById(Integer id) {
        return hibernateTemplate.get(User.class, id);
    }
}

Spring配置檔案,進行配置sessionFactory、hibernateTemplate

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd
        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-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
    <context:component-scan base-package="prv.hgs"/>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate"
        >
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</beans>

進行測試

@Test
public void testUser() {
    ApplicationContext content = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserDao uDao = (UserDao) content.getBean("userImp");
    System.out.println(uDao.findUserById(1));
}

可以正常得到輸出結果
這裡寫圖片描述

(方式二) 利用Spring配置檔案繼續配置

方式一保留了hibernate原始配置方式,但在實際整合過程中,通常使用Spring進行配置,去掉Hibernate.cfg.xml。如下實現

除了使用方式一中的hibernateTemplate獲取方式,也可以userImp改成繼承HibernateDaoSupport方式,並刪除hibernateTemplate的bean,其具體實現如下:(實際中方式一中hibernateTemplate的獲取方式較為常用)。

public class UserImp extends HibernateDaoSupport implements UserDao{
    @Override
    public User findUserById(Integer id) {
        return this.getHibernateTemplate().get(User.class, id);
    }
}

在配置中可以加入執行緒池,這裡使用阿里巴巴的druid
需要匯入相應jar包,其Maven配置:

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.26</version>
</dependency>

其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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:task="http://www.springframework.org/schema/task" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd
        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-4.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    <context:component-scan base-package="prv.hgs">
    </context:component-scan>
    <!-- load in properties file -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbc.properties" />
    </bean>
    <!-- druid配置資料來源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
        init-method="init" 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="initialSize" value="${initialSize}"></property>
        <!-- 連線池最大數量 -->
        <property name="maxActive" value="${maxActive}"></property>
        <!-- 連線池最大空閒 -->
        <!-- <property name="maxIdle" value="${maxIdle}"></property> -->
        <!-- 連線池最小空閒 -->
        <property name="minIdle" value="${minIdle}"></property>
        <!-- 獲取連線最大等待時間 -->
        <property name="maxWait" value="${maxWait}"></property>
    </bean>
    <!-- 配置SessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <!-- 配置資料來源 -->
        <property name="dataSource" ref="dataSource" />
        <!-- 其它hibernate配置 -->
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="javax.persistence.validation.mode">none</prop>
            </props>
        </property>
        <property name="mappingResources" value="prv/hgs/domain/User.hbm.xml" />
    </bean>
    <!-- 設定HibernateDaoSupport抽象類,使實現類無需再每個注入 -->
    <bean id="hibernateDaoSupport"
        class="org.springframework.orm.hibernate5.support.HibernateDaoSupport"
        abstract="true">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="userImp" class="prv.hgs.dao.imp.UserImp" parent="hibernateDaoSupport"/>
</beans>

由於spring配置支援佔位符的方式進行配置因此上面對資料庫及池的配置都使用了佔位符,可以方便我們對配置的更改。還需要在Resources或者根目錄下建立一個jdbc.properties的檔案,其內容如下:

jdbc.driver=com.mysql.cj.jdbc.Driver
#定義連線的URL地址,設定編碼集,時間域,允許多條SQL語句操作œ
jdbc.url=jdbc:mysql://localhost:3306/thcardb?characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true
#jdbc:mysql://localhost:3306/thcardb?characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true
jdbc.username=root
#jdbc.password=asd123asd
jdbc.password=StrLDvcH92s8tsn3
#定義初始連線數
initialSize=0
#定義最大連線數
maxActive=20
#定義最大空閒
maxIdle=20
#定義最小空閒
minIdle=1
#定義最長等待時間
maxWait=60000

再繼續測試,測試程式碼與方式一致。依然通過,正常打印出結果。意味著配置通過。

Spring與Struts2整合

Spring與Struts2的整合需要用到struts2-spring-plugin.jar,其Maven配置如下:

<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-spring-plugin -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-spring-plugin</artifactId>
    <version>2.5.10.1</version>
</dependency>

在struts2-spring-xxx.jar下包含一個struts-plugin.xml檔案,該檔案是個外掛配置檔案,開啟可以找到如下配置資訊

<constant name="struts.objectFactory" value="spring" />

上面配置用於配置struts2框架使用工廠建立自己的Action例項,如果value的值設定成spring,那麼將由Spring框架來建立Action例項。

由於加入struts2-spring-plugin.jar 還需要加入如下幾個相關jar包,maven配置如下。否則會報ClassNotFoundException

<!-- http://projects.spring.io/spring-framework/ -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.5.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>4.3.5.RELEASE</version>
</dependency>

Service層實現

和dao層實現基本差不多。
UserService介面實現,基本和UserDao一樣

public interface UserService {
    User findUserById(Integer id);
}

UserServiceImp實現,這裡為了方便,就直接使用註解了,無需在配置檔案中配置bean。

@Service
public class UserServiceImp implements UserDao {
    @Autowired
    private UserDao userDao;
    @Override
    public User findUserById(Integer id) {
        return userDao.findUserById(id);
    }
}

action的實現

@Controller
public class UserAction extends ActionSupport implements ModelDriven<User> {
    private User user = new User();
    @Override
    public User getModel() {
        return user;
    }
    @Autowired
    private UserServiceImp userServiceImp;
    public String login() {
        // 這裡僅舉例,以資料庫中第一個使用者為例
        User realUser = userServiceImp.findUserById(1);
        if (realUser.getUsername().equals(user.getUsername()) && realUser.getPassword().equals(user.getPassword())) {
            System.out.println("login success");
            return SUCCESS;
        } else{
            return ERROR;
            System.out.println("login error");
        }
    }
}

struts.xml的配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <!-- 開發模式 -->
    <constant name="struts.devMode" value="true"></constant>
    <package name="default" namespace="/" extends="struts-default">
    <global-allowed-methods>regex:.*</global-allowed-methods>
        <action name="user_*" class="prv.hgs.action.UserAction"
            method="{1}">
            <result>/index.jsp</result>
            <result name="success">/WEB-INF/jsp/success.jsp</result>
            <result name="error">/index.jsp</result>
        </action>
    </package>
</struts>

如果你想使用Action建立交予Spring的情況,則只需將struts.xml的class改成userAction即可。

<action name="user_*" class="userAction"
            method="{1}">
    <result>/index.jsp</result>
    <result name="success">/WEB-INF/jsp/success.jsp</result>
    <result name="error">/index.jsp</result>
</action>

NOTE:在struts2.5及以上版本預設不支援萬用字元,所以要在配置檔案中新增全域性萬用字元配置。即

<global-allowed-methods>regex:.*</global-allowed-methods>

否則會報There is no Action mapped for namespace [/] and action name
[user_login] associated with context path [/SSHIntegration]. 錯誤。

測試:

jsp介面
index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!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">
<title>Index</title>
</head>
<body>
    <form action="<%=path%>/user_login" method="post">
        使用者名稱:<input type="text" name="username" /> 
        密碼:<input type="text" name="password" />
         <input type="submit" />
    </form>
</body>
</html>

在WEB-INF下建立jsp檔案,並建立success.jsp

...
<body>
    Login Success
</body>
...

將應用部署到伺服器上執行測試:
執行截圖
這裡寫圖片描述
其中使用者名稱與密碼與資料庫相同。則成功登陸
這裡寫圖片描述

控制檯打印出:

Hibernate: 
    select
        user0_.ID as ID1_0_0_,
        user0_.USERNAME as USERNAME2_0_0_,
        user0_.PASSWORD as PASSWORD3_0_0_ 
    from
        USER user0_ 
    where
        user0_.ID=?
success

說明SSH2整合成功。

最終Maven的pom檔案

<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>priv.hgs</groupId>
    <artifactId>SSHIntegration</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>SSHIntegration Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-spring-plugin -->
        
            
           

相關推薦

ssh2框架整合詳細使用jar

ssh2框架整合+Maven+詳細配置、多種方式介紹,中間碰到問題與注意點,部分已有指出。 步驟一 匯入必備junit、javax.servlet相關jar包,maven配置如下: <dependency> <grou

SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis

json轉換 需要 acc log4 err ppi junit測試 日誌 enc 使用 SSM ( Spring 、 SpringMVC 和 Mybatis )已經有三個多月了,項目在技術上已經沒有什麽難點了,基於現有的技術就可以實現想要的功能,當然肯定有很多可以改進的地

SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis)

Spring Springmvc Mybatis--ssm的整合 一、搭建環境sts工具:   根據上圖建立springproject   上圖為專案結構 在此基礎上進行搭建ssm專案

SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis【轉】

 使用SSM(Spring、SpringMVC和Mybatis)已經有三個多月了,專案在技術上已經沒有什麼難點了,基於現有的技術就可以實現想要的功能,當然肯定有很多可以改進的地方。之前沒有記錄SSM整合的過程,這次剛剛好基於自己的一個小專案重新搭建了一次,而且比專案搭建的

實戰篇SSM三大框架整合詳細教程Spring+SpringMVC+MyBatis

<pre class="html" name="code" snippet_file_name="blog_20170402_1_8023453" code_snippet_id="2295822"><span style="font-size:14px;"><project x

ssm框架整合入門系列——maven工程引入jar

sta -- mybatis 插入 ati code 插入圖片 uri 1.3 maven工程引入jar包 Spring SpringMVC MyBatis 數據庫連接池,驅動包 其他(jstl、servlet、junit) 打開ssm-crud項目的pom.xml

關於在eclipse下的mapreduce工程打包成jar的問題包含第三方jar

成功 sha mas 但是 關於 hadoop集群 日誌 方法 mapreduce 這個問題也是在開發項目中經常遇到的一個問題,網上提供了很多方法,但是我發現很多並不適用,這裏推薦兩種方法,一種肯定沒問題,就是比較麻煩,另一種是適用FatJar來打包,但是我沒成功,原因估計

用eclipse打包可執行的jar含第三方jar

。。 直接 方式 呵呵 runnable tro jar包 exp cli 在eclipse中的解決方式如下: 在工程目錄下(與src同層)建立lib目錄,將第三方Jar包放到這個目錄裏(copy,paste即可)[如果直接引用本地的jar,一旦換電腦就呵呵了。。。] 右

Eclipse匯出可執行Java工程/可執行Jar檔案包含第三方Jar

1. 首先,右鍵你的Java工程,選擇Export,在Java資料夾下選擇Runnable JAR file,如下圖所示: 2. 選擇Runnable JAR file後,會彈出如下所示的對話方塊,選擇好匯出路徑後,預設Finish其實就可以了。但是需要注意的是兩點:

Hadoop系列 - 本地除錯程式碼不使用jar

問題 最近學習Hadoop過程中遇到這樣一個問題:本地開發mapreduce程式,如果mapreduce到輸入和輸出都是設定本地,那麼是可以進行本地Debug的。但是在我把輸入源設成伺服器的HDFS,輸出設為HBase時,發現應用啟動就報某個mapper或Outputformat類找不到

Maven的assembly外掛實現自定義打包部署包含依賴jar

微服務必備 優點:   1、可以直接匯入依賴jar包   2、可以新增外掛啟動 .sh 檔案   3、外掛的配置以及微服務的統一打包方式   1.首先我們需要在pom.xml中配置maven的assembly外掛 <build> <plugins

使用 Maven 外掛將 class位元組碼檔案,resource資原始檔,lib依賴的jar分開打包

1. 在pom檔案中對各個外掛進行配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20

eclipse匯出java專案jar依賴第三方jar

一.在專案根目錄下建一個檔案:MANIFEST.MF 內容: Manifest-Version: 1.0 Class-Path: lib/commons-compress-1.9.jar lib/commons-dbcp2-2.5.0.jar lib/commons-dbutils-1.7.

Eclipse 匯出可執行Jar檔案工程包含第三方Jar

背景:寫了一個小功能的專案,要匯出可執行的jar包,但是專案中匯入驅動資料庫的包;包含有第三方jar包;但是網上很多方法在打包之前先在工程目錄下建立一個名字為MANIFEST.MF;本人不愛寫,覺得太麻

分析共享Spring配置資料來源四種方式附相應jar

使用spring框架時,平常你都使用那種資料來源呢?本篇部落格將分享spring常用的四種配置資料來源方式。 以下使用Oracle10g版本作為例子。 第一種:使用spring自帶的DriverManagerDataSource 配置檔案如下: [html] view plaincopyp

java匯出成Excel的方法需要jxl.jar

import java.io.File; import java.sql.ResultSet; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.w

Maven專案匯出jar包含第三方jar

在pom檔案中加入:<build>    <plugins><plugin>                <artifactId>maven-assembly-plugin</artifactId>       

使用maven工程整合SSH框架詳細教程Maven+Struts2+Spring+Hibernate

1、第一步:建立maven工程,在pom.xml檔案中匯入需要的jar包依賴: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

SpringMVC詳細示例實戰教程全開發教程

服務 出現 匹配 internal int 頁面 pty ava 代碼 SpringMVC學習筆記---- 一、SpringMVC基礎入門,創建一個HelloWorld程序 1.首先,導入SpringMVC需要的jar包。 2.添加Web.xml配置文件中關於Spring

使用C#開發C/S框架高級添加項目實例

system log nsa category pla sof tle 生成 ref 操作步驟: 1、新建一個項目CSFramework3.test,在CSFramework3.test項目下新建一個FormMan窗口(此時不需要繼承)。 2、按F7打開類,替換一下引用 u