`
yaerfeng1989
  • 浏览: 233003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用axis1+spring+hibernate搭建webservice框架

阅读更多

原创不易,转载请注明出处:使用axis1+spring+hibernate搭建webservice框架

代码下载地址:http://www.zuidaima.com/share/1724478299180032.htm

写在前面的话:

       网上的教程大多都是使用wsdl2java工具构建webservice。本文则直接采用编辑server-config.wsdd来发布webservice,相比而言,可以比较快速的部署一个项目,适应工作需要。

   本教程模拟提供用户接口用于和别的系统结合,主要功能包括接受用户的增删改查。

一数据库创建
    创建数据库webservice

,创建用户表user

用户表内容如下:

CREATE TABLE ` user ` (
 `uid` int ( ) unsigned NOT NULL auto_increment,
 `name` varchar ( ) NOT NULL default '' ,
 `password` varchar ( ) NOT NULL default '' ,
 `nickname` varchar ( ) NOT NULL default '' ,
 PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET= gbk;

(您也可以直接使用附件中的sql文件创建数据库)

 

二新建web项目,搭建spring+hibernate框架。

1)新建用户模型,User类,如下:

package com.zuidaima.model;

public class User {
	/*
	 * 用户属性,分别对应user表
	 */
	/*
	 * 用户id
	 */
	private Integer uid;
	/*
	 * 用户名
	 */
	private String name;
	/*
	 * 密码
	 */
	private String password;
	/*
	 * 用户昵称
	 */
	private String nickname;

	/*
	 * 必须提供一不带参数的构造方法,以供hibernate初始化User
	 */
	public User() {

	}

	/*
	 * 使用参数构建User
	 */
	public User(String name, String password, String nickname) {
		this.name = name;
		this.password = password;
		this.nickname = nickname;
	}

	public Integer getUid() {
		return uid;
	}

	public void setUid(Integer uid) {
		this.uid = uid;
	}

	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;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}
}

另外user的配置文件User.hbm.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping>
	<class name="com.zuidaima.model.User" table="user">
		<id name="uid" type="java.lang.Integer" column="UID">
			<generator class="native"></generator>
		</id>
		<property name="name" type="java.lang.String" column="NAME"
			length="45" insert="true" update="true" />
		<property name="password" type="java.lang.String" column="PASSWORD"
			length="45" insert="true" update="true" />
		<property name="nickname" type="java.lang.String" column="NICKNAME"
			length="45" insert="true" update="true" />
	</class>
</hibernate-mapping>

2)新建DAO,UserDAO类,如下:

package com.zuidaima.dao;

import java.util.List;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import com.zuidaima.model.User;

public class UserDAO extends HibernateDaoSupport {
	public User getUser(int uid) {
		return (User) getHibernateTemplate().get(User.class, new Integer(uid));
	}

	/**
	 * 添加用户
	 * 
	 * @param user
	 */
	public void saveUser(User user) {
		getHibernateTemplate().save(user);
	}

	/**
	 * 删除用户
	 * 
	 * @param uid
	 */
	public void deleteUser(int uid) {
		StringBuffer strBuf = new StringBuffer();
		strBuf.append("from User as u where u.uid=");
		strBuf.append(uid);
		getHibernateTemplate().delete(strBuf.toString());
	}

	/**
	 * 更新用户
	 * 
	 * @param user
	 */
	public void updateUser(User user) {
		getHibernateTemplate().saveOrUpdate(user);
	}

	/**
	 * 根据用户名查找用户
	 * 
	 * @param name
	 * @return user or null
	 */
	/*
	 * return null if can't find
	 */
	public User getUserByName(String name) {
		StringBuffer strBuf = new StringBuffer();
		strBuf.append("select u from User as u where u.name='");
		strBuf.append(name);
		strBuf.append("'");
		List tempList = getHibernateTemplate().find(strBuf.toString());
		if (tempList != null && tempList.size() > 0) {
			return (User) tempList.get(0);
		} else {
			return null;
		}
	}

	/**
	 * 用户列表
	 * 
	 * @return user List
	 */
	public List listUser() {
		StringBuffer strBuf = new StringBuffer();
		strBuf.append("select u from User as u ");
		return getHibernateTemplate().find(strBuf.toString());
	}

}

3)新建管理层,UserManager接口和其实现UserManagerImpl。

UserManager接口:

package org.yoo.service;

 import java.util.List;

 import org.yoo.model.User;

 public interface UserManager {
 
 /** 
 * 根据uid查找用户
 * @param uid
 * @return user
 */ 
 public User getUserByUid( int uid);
 /** 
 * 增加用户
 * @param user
 */ 
 public void saveUser(User user);
 /** 
 * 删除用户
 * @param uid
 */ 
 public void deleteUser( int uid);
 
 /** 
 * 更新用户信息
 * @param user
 */ 
 public void updateUser(User user);
 
 /** 
 * 根据用户名查找用户
 * @param name
 * @return user
 */ 
 public User getUserByName(String name);
 
 /** 
 * 用户列表
 * @return user List
 */ 
 public List listUser();
}

UserManagerImpl如下:

package com.zuidaima.service.impl;

import java.util.List;

import com.zuidaima.dao.UserDAO;
import com.zuidaima.model.User;
import com.zuidaima.service.UserManager;

public class UserManagerImpl implements UserManager {
	private UserDAO userDAO = null;

	public void deleteUser(int uid) {
		userDAO.deleteUser(uid);

	}

	public User getUserByName(String name) {

		return userDAO.getUserByName(name);
	}

	public User getUserByUid(int uid) {

		return userDAO.getUser(uid);
	}

	public List listUser() {

		return userDAO.listUser();
	}

	public void saveUser(User user) {
		userDAO.saveUser(user);

	}

	public void updateUser(User user) {
		userDAO.updateUser(user);

	}

	/*
	 * Ioc By Spring
	 */
	public void setUserDAO(UserDAO userDAO) {
		this.userDAO = userDAO;
	}

}

 

4)配置xml文件。

Spring-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

	<!-- ==DATA SOURCE======================================== -->
	<!-- Data Source for MYSQL -->
	<bean id="dataSource_MYSQL"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>org.gjt.mm.mysql.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://127.0.0.1:3306/webservice?useUnicode=true&amp;characterEncoding=GBK</value>
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>111111</value>
		</property>
	</bean>

	<!--==SESSION FACTORY===================================== -->
	<!-- Hibernate SessionFactory -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource_MYSQL" />
		</property>

		<property name="mappingResources">
			<list>
				<value>com/zuidaima/model/mysql/User.hbm.xml</value>
			</list>
		</property>

		<property name="hibernateProperties">
			<props>
				<!--sql dialect for MYSQL -->
				<prop key="hibernate.dialect">
					net.sf.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="connection.pool.size">10</prop>
				<prop key="statement_cache.size">25</prop>
				<prop key="jdbc.fetch_size">50</prop>
				<prop key="jdbc.batch_size">30</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="cglib.use_reflection_optimizer">true</prop>
			</props>
		</property>
	</bean>
	<!--==TRANSACTION======================================= -->
	<!-- Transaction manager for a single Hibernate SessionFactory -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref local="sessionFactory" />
		</property>
	</bean>
</beans>

Spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="userDAO" class="com.zuidaima.dao.UserDAO">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>
</beans>

Spring-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
	<bean id="userManager" class="com.zuidaima.service.impl.UserManagerImpl">
		<property name="userDAO">
			<ref bean="userDAO" />
		</property>
	</bean>
</beans>

(您也可以将这三个文件合并在一个文件中,我将它们分开是觉得便于管理。另外如果这部分的配置您不明白,请先查看有关spring+hibernate的相关文章)

5)构建bean工厂

在此只前,都是和利用spring+hibernate搭建web项目一致,这一步开始要有些不同了。由于axis1不支持spring,所以无法直接创建spring的容器,我们需要自己构建bean工厂。

创建BeanxmlFactoryl类,如下:

package com.zuidaima.beanfactory;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.zuidaima.service.UserManager;

/**
 * 单列模式的bean工厂类 SpringBean Factory
 * 
 * @author yoo
 * 
 */
public class BeanxmlFactory {
	private static BeanxmlFactory beanxmlfactory = null;
	private UserManager userManager = null;

	/*
	 * 私有的构造方法
	 */
	private BeanxmlFactory() {
		/**
		 * 读取spring+hibernate的配置文件
		 */
		String[] configs = { "/spring-config.xml", "/spring-dao.xml",
				"/spring-service.xml" };
		ApplicationContext context = new ClassPathXmlApplicationContext(configs);
		/*
		 * 获取制定的bean
		 */
		this.userManager = (UserManager) context.getBean("userManager");
	}

	/*
     * 
     */
	public synchronized static BeanxmlFactory getInstance() {
		if (beanxmlfactory == null) {
			beanxmlfactory = new BeanxmlFactory();
		}
		return beanxmlfactory;
	}

	public UserManager getUserManager() {
		return userManager;
	}

}

到此我们的web项目已经搭建完成了,余下的事情就是构建webservice的服务了。

三构建service

1)新建一个类,我们命名它为UserService。该类利用由Spring提供的UserManager Bean,生产用户的增加和删除服务,如下:

package com.zuidaima.webservice;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.zuidaima.beanfactory.BeanxmlFactory;
import com.zuidaima.model.User;
import com.zuidaima.service.UserManager;

public class UserService {
	private static Log log = LogFactory.getLog(UserService.class);
	private UserManager userManager = null;

	/*
	 * 获取spring提供的userManager bean
	 */
	public UserService() {
		this.userManager = BeanxmlFactory.getInstance().getUserManager();
	}

	/**
	 * 使用信息创建用户
	 * 
	 * @param name
	 *            用户名
	 * @param password
	 *            密码
	 * @param nickname
	 *            昵称
	 * @return user‘uid or error code 0 用户名已存在 -1 创建用户出错
	 */
	public int createUserByUserInfo(String name, String password,
			String nickname) {
		log.info("come in createUser method");
		int resultCode = 0;
		try {
			User userTemp = userManager.getUserByName(name);
			if (userTemp == null) {
				User user = new User(name, password, nickname);
				userManager.saveUser(user);
				resultCode = user.getUid().intValue();
			} else {
				resultCode = 0;
			}
		} catch (Exception e) {
			log.error("createUser have error:", e);
			resultCode = -1;
		}
		return resultCode;
	}

	/**
	 * 删除用户
	 * 
	 * @param uid
	 * @return boolean value
	 */
	public boolean deleteUser(int uid) {
		log.info("come in deleteUser method");
		boolean resultCode = true;
		try {
			userManager.deleteUser(uid);
		} catch (Exception e) {
			log.error("deleteUser have error:", e);
			resultCode = false;
		}
		return resultCode;
	}

}

2)添加axis1所需要的jar包。

复制axis-1_4"lib下所有的包到你的项目lib下。

(可以到apache网站上下载axis-1——4,或者在本文附件中获取)

<!--[if gte vml 1]><![endif]-->

3)Ok,最重要的一步,也是最奇妙的一步来了,构建server-config.wsdd,即利用axis1搭建webservice服务的描述文件。在web.xml同目录下,新建一xml文件,命名为server-config.wsdd文件类容如下:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
	xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
	<globalConfiguration>
		<parameter name="wsdlTargetNamespace" value="http://model.yoo.org" />
		<parameter name="adminPassword" value="admin" />
		<parameter name="attachments.implementation"
			value="org.apache.axis.attachments.AttachmentsImpl" />
		<parameter name="sendXsiTypes" value="true" />
		<parameter name="sendMultiRefs" value="true" />
		<parameter name="sendXMLDeclaration" value="true" />
		<parameter name="axis.sendMinimizedElements" value="true" />
		<requestFlow>
			<handler type="java:org.apache.axis.handlers.JWSHandler">
				<parameter name="scope" value="session" />
			</handler>
			<handler type="java:org.apache.axis.handlers.JWSHandler">
				<parameter name="scope" value="request" />
				<parameter name="extension" value=".jwr" />
			</handler>
		</requestFlow>
	</globalConfiguration>
	<handler name="LocalResponder"
		type="java:org.apache.axis.transport.local.LocalResponder" />
	<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
	<handler name="Authenticate"
		type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
	<!--服务的名称 -->
	<service name="UserService" provider="java:RPC">
		<parameter name="scope" value="Request" />
		<!--所有的方法都可以访问 -->
		<parameter name="allowedMethods" value="*" />
		<!-- 服务指向的类 -->
		<parameter name="className" value="com.zuidaima.webservice.UserService" />
	</service>
	<!-- other service -->
	<!-- 可以部署多个服务 -->
	<!-- <service name="balabala" provider="java:RPC"> <parameter name="allowedMethods" 
		value="*"/> <parameter name="scope" value="Request"/> <parameter name="className" 
		value="balabala"/> </service> -->
	<!-- axis1 -->
	<service name="AdminService" provider="java:MSG">
		<parameter name="allowedMethods" value="AdminService" />
		<parameter name="enableRemoteAdmin" value="false" />
		<parameter name="className" value="org.apache.axis.utils.Admin" />
		<namespace>http://xml.apache.org/axis/wsdd/</namespace>
	</service>
	<service name="Version" provider="java:RPC">
		<parameter name="allowedMethods" value="getVersion" />
		<parameter name="className" value="org.apache.axis.Version" />
	</service>
	<transport name="http">
		<requestFlow>
			<handler type="URLMapper" />
			<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
		</requestFlow>
	</transport>
	<transport name="local">
		<responseFlow>
			<handler type="LocalResponder" />
		</responseFlow>
	</transport>
</deployment>

4)最后一步,需要使用tomcat支持我们搭建的webservice。编辑web.xml,编辑后的文件内容如下:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	<display-name>aoservice-axis1</display-name>

	<listener>
		<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class>
	</listener>

	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<display-name>Apache-Axis Servlet</display-name>
		<servlet-class>
			org.apache.axis.transport.http.AxisServlet
		</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>AdminServlet</servlet-name>
		<display-name>Axis Admin Servlet</display-name>
		<servlet-class>
			org.apache.axis.transport.http.AdminServlet
		</servlet-class>
		<load-on-startup>100</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>SOAPMonitorService</servlet-name>
		<display-name>SOAPMonitorService</display-name>
		<servlet-class>
			org.apache.axis.monitor.SOAPMonitorService
		</servlet-class>
		<init-param>
			<param-name>SOAPMonitorPort</param-name>
			<param-value>5001</param-value>
		</init-param>
		<load-on-startup>100</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/servlet/AxisServlet</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>*.jws</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SOAPMonitorService</servlet-name>
		<url-pattern>/SOAPMonitor</url-pattern>
	</servlet-mapping>

	<!-- uncomment this if you want the admin servlet -->
	<!-- <servlet-mapping> <servlet-name>AdminServlet</servlet-name> <url-pattern>/servlet/AdminServlet</url-pattern> 
		</servlet-mapping> -->

	<session-config>
		<!-- Default to 5 minute session timeouts -->
		<session-timeout>5</session-timeout>
	</session-config>

	<!-- currently the W3C havent settled on a media type for WSDL; http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft 
		for now we go with the basic 'it's XML' response -->
	<mime-mapping>
		<extension>wsdl</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>


	<mime-mapping>
		<extension>xsd</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>

	<welcome-file-list id="WelcomeFileList">
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.jws</welcome-file>
	</welcome-file-list>

</web-app>

到此,我们可以歇口气啦,我们已经搭建好了一个简单的webservice了。

项目截图:

该项目由于我对webservice不熟悉,所以只是把文档涉及到的代码搭建成了maven工程,花了不少时间也没验证通过,大家谁有能力的帮忙验证下吧。

1
0
分享到:
评论

相关推荐

    axis2+spring+hibernate Webservice

    标题 "axis2+spring+hibernate Webservice" 指出的是一个基于Java的开源项目,它结合了三个关键的技术框架:Axis2、Spring和Hibernate。这些技术都是企业级应用开发中的重要组件,用于构建高效、灵活且可扩展的服务...

    axis2+Spring提供WebService服务

    Axis2和Spring框架的结合提供了一种高效且灵活的方式来创建和管理WebService。让我们深入了解一下这两个技术以及它们如何协同工作。 首先,Apache Axis2是Java平台上一个成熟的Web服务引擎,专门用于处理SOAP消息。...

    axis2+spring2.5整合(webservice)

    当我们谈论“Axis2+Spring2.5整合(Web服务)”时,我们指的是将Apache Axis2和Spring框架结合在一起,以便更高效地开发和管理Web服务。 Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了SOAP消息...

    axis2+hibernate+Spring测试案例

    在hibernate spring项目基础上通过aixs2-1.4.1把程序发布成webService,包括aixs2以对象数组和AXIOM方式处理map,list的程序代码;和aixs2-1.4-1的jar包

    jsf+spring+hibernate+Axis2开发案例

    本案例"jsf+spring+hibernate+Axis2开发案例"旨在演示如何整合这四个核心技术来创建一个完整的Web应用程序。 首先,`JSF (JavaServer Faces)`是一种用于构建用户界面的MVC(Model-View-Controller)框架,它简化了...

    Xfire+spring+hiebrnate webService

    【标题】:“Xfire+Spring+Hibernate WebService” 在IT领域,Web服务是一种软件系统,设计用于通过网络(主要是互联网)进行通信。本项目“Xfire+Spring+Hibernate WebService”是一个采用特定技术栈构建的Web服务...

    Spring3Mvc+Hibernate整合Axis2发布WebService并配置Quartz调度

    本主题聚焦于如何使用Spring3 MVC与Hibernate进行整合,以便更好地处理业务逻辑和数据持久化,并结合Axis2发布Web服务,同时利用Quartz进行任务调度。以下将详细介绍这些技术及其整合过程。 **Spring3 MVC** 是...

    struts2+hibernate+spring+axis jar

    Struts2、Hibernate、Spring 和 Axis 是Java开发中常见的四大框架,它们各自在Web应用程序的开发中扮演着重要角色。这个压缩包文件"SSH-axis"集合了这些框架的jar库,意味着它提供了一个基础环境来构建一个整合了MVC...

    webservice+axis2+myeclipse+tomcat

    它集成了 Eclipse 并添加了对 Spring、Struts、Hibernate 等流行框架的支持,使得开发过程更为便捷。 三、Tomcat 服务器 Tomcat 是一个开源的、轻量级的Servlet容器,它能够运行Java Servlet和JavaServer Pages...

    ssh1+webservice(axis) 配置框架

    SSH1+WebService(Axis)配置框架是开发企业级Java应用的一种常见组合,它结合了Spring、Struts和Hibernate这三个开源框架的优势,同时利用Axis来实现Web服务的发布和调用。下面将详细介绍这些技术及其在配置框架中...

    Axis2集成SSH搭建WebService支持事务(图文详解含核心代码)

    【标题】:Axis2集成SSH搭建WebService支持事务的详细教程 【描述】:本文将详细介绍如何在项目中集成Axis2和SSH框架,以构建支持事务的WebService。通过本教程,你将了解到如何按照传统的SSH方式编写代码,如何...

    使用axis2与ssh整合开发webService文档与源码

    当我们谈论“使用Axis2与SSH整合开发WebService”时,我们实际上是在讨论如何将Apache Axis2,一个强大的Java Web服务框架,与Spring(S)、Hibernate(H)和Struts(S)这三大流行开源框架相结合,来构建高效、可...

    用axis2+Tomcat5.5+MyEclipse7.5部署和访问Web服务

    1. **Axis2**: Axis2是Apache软件基金会的一个开源项目,它是用于构建和部署Web服务的框架。它提供了基于SOAP的Web服务实现,支持多种协议和数据格式,如HTTP、SMTP、JMS等。Axis2具有高性能、可扩展性、模块化和...

    简单银行系统(webservice,springsecurity,ssh,ant,axis,ftl)

    【标题】"简单银行系统(webservice,springsecurity,ssh,ant,axis,ftl)" 提供的是一个基于多个核心技术构建的银行系统实例。这个项目涵盖了Web服务、安全框架、Java开发工具链以及模板引擎等多个方面的内容,对于学习...

    axis2 ibatis spring简单资料

    1. **Axis2**:Axis2 是 Apache 提供的一个 WebService 框架,用于创建和部署 WebServices。在这个项目中,它被用来处理服务端的 WebService 请求。步骤1提到了项目的目录结构,其中包含了服务相关的类和配置文件。 ...

    axis2的配置以及与ssh框架结合实例

    而“在ssh里面做设计”则暗示了使用SSH(Spring、Struts2、Hibernate)这三大开源Java框架的集成应用。 SSH框架的组合是Java开发中常见的企业级应用架构,其中Spring负责依赖注入和事务管理,Struts2负责MVC(模型-...

    axis2简单webservice工程源码

    标题中的“axis2简单webservice工程源码”指的是一个基于Apache Axis2框架构建的Web服务示例项目。Apache Axis2是Java平台上一个流行的Web服务框架,用于开发、部署和执行Web服务。它提供了高效的性能、模块化架构...

    Web service框架

    Apache CXF 是一个强大的开源 Web Service 框架,它源自 Celtix 和 XFire...在实际项目中,还可以结合其他技术,如数据持久化框架(如 Hibernate)、安全框架(如 Spring Security)等,进一步增强系统的功能和安全性。

    Java软件开发工程师简历.pdf

    在 JavaEE 方面,该工程师熟悉 Struts2、Spring、Hibernate 等企业主流开发框架技术,并了解 Mybatis 的 CRUD 操作,能够使用 Mybatis+Struts2+Spring 架构整合。同时,熟悉 JBPM 工作流引擎,能够独立完成工作流的...

Global site tag (gtag.js) - Google Analytics