真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用Spring如何集成和使用Hibernate與Struts

今天就跟大家聊聊有關(guān)使用Spring如何集成和使用Hibernate與Struts,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供西夏企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、H5建站、小程序制作等業(yè)務(wù)。10年已為西夏眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

Spring集成所需jar包

首先,Spring集成Struts,那么applicationContext.xml和struts.xml,web.xml肯定是不能少的。前面兩個(gè)是Spring和Struts的配置文件,后面一個(gè)是整個(gè)web的全局配置文件。在每個(gè)配置文件中應(yīng)該怎么配置,怎么相互關(guān)聯(lián)呢。其實(shí)就是將Struts中指定的Action 類為Spring注入的類。

三大框架集成開發(fā)并不難,難的地方在于各個(gè)包的依賴要搞清楚,版本之間的差異也是一點(diǎn)。下面列出Spring集成Struts所依賴的包:

依賴包

此處所有依賴為Struts2.0和Spring3.0。版本有點(diǎn)老,我用最新版的始終集成不正確。等搞好了再升級(jí)版本。

NumberPackagePlatformFunction
1commons-fileupload-1.2.2.jarcommon文件上傳功能
2commons-io-2.0.1.jarcommon
3commons-lang-2.5.jarcommon
4commons-logging-1.1.1.jarcommon日志
5freemarker-2.3.16.jarStruts模版引擎
6javassist-3.11.0.GA.jarcommon動(dòng)態(tài)編程
7ognl-3.0.1.jarcommon表達(dá)式語言,提供屬性,方法調(diào)用
8org.springframework.asm-3.1.1.RELEASE.jarspringSpring獨(dú)立的asm程序,Spring2.5.6的時(shí)候需要asmJar 包3.0.6開始提供他自己獨(dú)立的asmJar。暫時(shí)我自己也不懂這事干嘛的。
9org.springframework.beans-3.1.1.RELEASE.jarspringSpring IOC實(shí)現(xiàn)
10org.springframework.context-3.1.1.RELEASE.jarspringSpring提供在基礎(chǔ)IoC功能上的擴(kuò)展服務(wù),此外還提供許多企業(yè)級(jí)服務(wù)的支持,如郵件服務(wù)、任務(wù)調(diào)度、JNDI定位、EJB集成、遠(yuǎn)程訪問、緩存以及各種視圖層框架的封裝等
org.springframework.context.support-3.1.1.RELEASE.jarspringSpring-context的擴(kuò)展支持,用于MVC方面
12org.springframework.core-3.1.1.RELEASE.jarspringSpring 核心工具包
13org.springframework.expression-3.1.1.RELEASE.jarspringSpring表達(dá)式語言
14org.springframework.web-3.1.1.RELEASE.jarspringSpring Web工具包
15org.springframework.web.servlet-3.1.1.RELEASE.jarspring基于servlet的MVC實(shí)現(xiàn)
16struts2-core-2.2.3.1.jarstrutsStruts核心庫
17xwork-core-2.2.3.1.jarstrutsxwork核心庫
18struts2-spring-plugin-2.2.3.1.jarstrutsSpring與Struts相互集成
19antlr-2.7.2.jarcommon語言語法分析器
20aopalliance-1.0.jarcommon面向切面編程接口
21commons-dbcp.jarcommonDBCP數(shù)據(jù)庫連接池
22commons-pool.jarcommonDBCP數(shù)據(jù)庫連接池
23dom4j-1.6.1.jarhibernate靈活的xml框架
24hibernate-jpa-2.0-api-1.0.1.Final.jarhibernate注解使用類
25hibernate3.jarhibernate數(shù)據(jù)庫核心包
26jta-1.1.jarhibernate分布式事務(wù)處理
27MySQL-connector-java-5.1.18-bin.jarhibernatejdbc連接器
28org.springframework.jdbc-3.1.1.RELEASE.jarhibernatespring與jdbc集成
29org.springframework.orm-3.1.1.RELEASE.jarhibernate數(shù)據(jù)庫集成
30org.springframework.transaction-3.1.1.RELEASE.jarhibernate事務(wù)集成
31slf4j-api-1.6.1.jarcommon日志系統(tǒng)

集成

model層

新建Usermodel,如下:

package com.action;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
@javax.persistence.Table(name="user")
public class User implements Serializable{
 private static final long serialVersionUID = 1L;
 @Id
 @GeneratedValue
 @Column(name="id")
 public int id;
 @Column(name="name")
 public String name;
 @Column(name="password")
 public String password;
 
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 @Override
 public String toString() {
 return "User [name=" + name + ", password=" + password + "]";
 }
}

dao層

新建dao接口:

package com.dao.impl;
import java.util.List;
import com.action.User;
import com.action.UserAction;
public interface UserDao {
 public void save(User action);
 
 public User getUser(int id);
 
 public void update(User action);
 
 public void delete(User userAction);
 
 public List findByName(String name);
}

實(shí)現(xiàn)dao接口

package com.dao.impl;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.action.User;
import com.action.UserAction;
public class UserDaoImpl implements UserDao {
 
 private SessionFactory sessionFactory;
 private HibernateTemplate mHibernateTemplate;
 
 public SessionFactory getSessionFactory() {
 return sessionFactory;
 }
 public void setSessionFactory(SessionFactory sessionFactory) {
 this.sessionFactory = sessionFactory;
 }
 public HibernateTemplate getHbernateTemplate() {
 if (mHibernateTemplate==null) {
 mHibernateTemplate = new HibernateTemplate(sessionFactory);
 }
 return mHibernateTemplate;
 }
 
 public void save(User action) {
 // TODO Auto-generated method stub
 getHbernateTemplate().save(action);
 }
 public User getUser(int id) {
 // TODO Auto-generated method stub
 User userAction = getHbernateTemplate().get(User.class, new Integer(id));
 return userAction;
 }
 public void update(User action) {
 // TODO Auto-generated method stub
 getHbernateTemplate().update(action);
 }
 public void delete(User userAction) {
 // TODO Auto-generated method stub
 getHbernateTemplate().delete(userAction);
 }
 @SuppressWarnings("unchecked")
 public List findByName(String name) {
 // TODO Auto-generated method stub
 String queryString = "from User u where u.name like ?";
 return getHbernateTemplate().find(queryString);
 }
 
}

view層

顯示以及action

/**
 * 
 */
package com.action;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.dao.impl.UserDaoImpl;
import com.opensymphony.xwork2.ActionSupport;
/**
 * @author kevin
 *
 */
public class UserAction extends ActionSupport {
 public String name;
 public String password;
 private UserDaoImpl userDao;
 
 public String getName() {
 return name;
 }
 
 public void setUserDao(UserDaoImpl userDao) {
 this.userDao = userDao;
 }
 
 public UserDaoImpl getUserDao() {
 return userDao;
 }
 public void setName(String name) {
 this.name = name;
 }
 
 
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 @Override
 public String execute() throws Exception {
 // 不能直接new 得從applicationContext中獲取
 HttpServletResponse response = ServletActionContext.getResponse();
 response.setContentType("text/xml;charset=UTF-8");
 User user = new User();
 user.name = name;
 user.password = password;
 userDao.save(user);
 response.getWriter().write(user.toString());
 return "success";
 }
}

第一個(gè)頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>




Insert title here


測試

第二個(gè)頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>




Insert title here


媽的智障

${name} ${password}

配置文件

添加全局web配置文件

<?xml version="1.0" encoding="UTF-8"?>

 SpringSS
 
 index.html
 index.htm
 index.jsp
 default.html
 default.htm
 default.jsp
 
 
 
 struts2
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 
 
 
 org.springframework.web.context.ContextLoaderListener
 
 
 struts2
 /* 
 

Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>

 
  
 
 com.mysql.jdbc.Driver
 
 
 jdbc:mysql://localhost/spring
 
 
 root
 
 
 123456
 
 
 
 
 
 
 
 
 com.action.User
 
 
 
 
 org.hibernate.dialect.MySQLDialect
 true
 
 
 
 
 
 
 
 

Struts配置文件




 
 
  /user.jsp
 
 

結(jié)果顯示

輸入頁面

使用Spring如何集成和使用Hibernate與Struts

結(jié)果頁面

使用Spring如何集成和使用Hibernate與Struts

數(shù)據(jù)庫

使用Spring如何集成和使用Hibernate與Struts

最后看起來,還是不難的嘛。其實(shí)UserDao可以抽象出來,只需要單次注入,等以后再完善。

看完上述內(nèi)容,你們對(duì)使用Spring如何集成和使用Hibernate與Struts有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


當(dāng)前文章:使用Spring如何集成和使用Hibernate與Struts
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/jhdceh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部