外贸网站怎么营销网络营销策略方案
news/
2025/10/6 8:08:02/
文章来源:
外贸网站怎么营销,网络营销策略方案,自己做烘焙的网站,wordpress下载权限大家好#xff0c; 在本文中#xff0c;我们将演示如何正确集成GWT和EJB3 #xff0c;以实现示例项目#xff0c;使用maven进行构建并将其部署在JBoss 5.1应用服务器上。 实际上#xff0c;您可以轻松地更改maven构建文件中的依赖关系#xff0c;并将项目部署到您喜欢的… 大家好 在本文中我们将演示如何正确集成GWT和EJB3 以实现示例项目使用maven进行构建并将其部署在JBoss 5.1应用服务器上。 实际上您可以轻松地更改maven构建文件中的依赖关系并将项目部署到您喜欢的应用程序服务器中。 为了尽可能通用我们将使用命令行风格的maven和gedit文本编辑器。 首先我们必须创建pom项目。 我们将其称为ejb-gwt。 mkdir ejb-gwt
cd ejb-gwt
gedit pom.xml pom.xml project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemalocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven4.0.0.xsdmodelversion4.0.0/modelversiongroupidcom.javacodegeeks/groupidartifactidejb-gwt/artifactidversion0.0.1-SNAPSHOT/versionpackagingpom/packagingnameejb-gwt/nameurlhttp://maven.apache.org/urlpropertiesproject.build.sourceencodingUTF-8/project.build.sourceencoding/propertiesdependencies/dependenciesmodules/modulesbuildpluginsplugingroupidorg.apache.maven.plugins/groupidartifactidmaven-compiler-plugin/artifactidconfiguration1.6target1.6/target/configuration/plugin/plugins/build
/project 然后我们将创建包含ejb类的模块。 我们将其称为ejb-jar。 mvn archetype:create -DgroupIdcom.javacodegeeks -DartifactIdejb-jar
cd ejb-jar/src/main
mkdir resources
cd resources
mkdir META-INF
cd META-INF
gedit persistence.xml 我们将配置persistence.xml以使用jboss的默认数据源。 persistence.xml persistence version2.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/persistence xsi:schemalocationhttp://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsdpersistence-unit nameMyPersistenceUnitproviderorg.hibernate.ejb.HibernatePersistence/providerjta-data-sourcejava:/DefaultDS/jta-data-sourcepropertiesproperty namehibernate.hbm2ddl.auto valueupdateproperty namehibernate.show_sql valuetrueproperty namehibernate.dialect valueorg.hibernate.dialect.HSQLDialect/property/property/property/properties/persistence-unit
/persistence 在src / java中您将放置您的ejb代码。 在我们的示例中我们有一个实体bean Employee.java package com.javacodegeeks.ejb.entity;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;Entity
Table(name EMPLOYEE)
public class Employee implements java.io.Serializable {private static final long serialVersionUID 7440297955003302414L;IdColumn(nameemployee_id)private long employeeId;Column(nameemployee_name, nullable false, length30)private String employeeName;Column(nameemployee_surname, nullable false, length30)private String employeeSurname;Column(namejob, length50)private String job;public Employee() {}public Employee(int employeeId) {this.employeeId employeeId; }public Employee(long employeeId, String employeeName, String employeeSurname,String job) {this.employeeId employeeId;this.employeeName employeeName;this.employeeSurname employeeSurname;this.job job;}public long getEmployeeId() {return employeeId;}public void setEmployeeId(long employeeId) {this.employeeId employeeId;}public String getEmployeeName() {return employeeName;}public void setEmployeeName(String employeeName) {this.employeeName employeeName;}public String getEmployeeSurname() {return employeeSurname;}public void setEmployeeSurname(String employeeSurname) {this.employeeSurname employeeSurname;}public String getJob() {return job;}public void setJob(String job) {this.job job;}
} 会话Bean的本地接口。 EmployeeService.java package com.javacodegeeks.ejb.session;import com.javacodegeeks.ejb.entity.Employee;public interface EmployeeService {public Employee findEmployee(long employeeId);public void saveEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void updateEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void saveOrUpdateEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void deleteEmployee(long employeeId) throws Exception;
} 最后确定会话bean。 EmployeeServiceBean.java package com.javacodegeeks.ejb.session;import javax.ejb.Local;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;import com.javacodegeeks.ejb.entity.Employee;Stateless(name employeeService)
Local(EmployeeService.class)
public class EmployeeServiceBean implements EmployeeService {PersistenceContextprivate EntityManager entityManager;public void deleteEmployee(long employeeId) throws Exception {entityManager.remove(entityManager.find(Employee.class, employeeId));}public Employee findEmployee(long employeeId) {return entityManager.find(Employee.class, employeeId);}public void saveEmployee(long employeeId, String name, String surname,String jobDescription) throws Exception {Employee emp new Employee();emp.setEmployeeId(employeeId);emp.setEmployeeName(name);emp.setEmployeeSurname(surname);emp.setJob(jobDescription);entityManager.persist(emp);}public void saveOrUpdateEmployee(long employeeId, String name,String surname, String jobDescription) throws Exception {Employee emp new Employee();emp.setEmployeeId(employeeId);emp.setEmployeeName(name);emp.setEmployeeSurname(surname);emp.setJob(jobDescription);entityManager.merge(emp);}public void updateEmployee(long employeeId, String name, String surname,String jobDescription) throws Exception {Employee emp entityManager.find(Employee.class, employeeId);emp.setEmployeeName(name);emp.setEmployeeSurname(surname);emp.setJob(jobDescription);entityManager.merge(emp);}} ejb-jar模块的pom.xml应该是 pom.xml project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemalocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelversion4.0.0/modelversionparentartifactidejb-gwt/artifactidgroupidcom.javacodegeeks/groupidversion0.0.1-SNAPSHOT/version/parentgroupidcom.javacodegeeks/groupidartifactidejb-jar/artifactidversion0.0.1-SNAPSHOT/versionnameejb-jar/namepackagingejb/packagingurlhttp://maven.apache.org/urlrepositoriesrepositoryidjboss-maven2/idurlhttp://repository.jboss.com/maven2/url/repository/repositoriesdependenciesdependencygroupidorg.jboss.jbossas/groupidartifactidjboss-as-client/artifactidversion5.1.0.GA/versiontypepom/typescopeprovided/scope/dependencydependencygroupidjunit/groupidartifactidjunit/artifactidversion4.7/versionscopetest/scope/dependency /dependenciesbuildpluginsplugingroupidorg.apache.maven.plugins/groupidartifactidmaven-ejb-plugin/artifactidconfigurationejbversion3.0/ejbversion/configuration/plugin/plugins
/build
/project 现在我们将基于gwt-maven-plugin原型生成我们的Web项目。 mvn archetype:generate -DarchetypeGroupIdorg.codehaus.mojo -DarchetypeArtifactIdgwt-maven-plugin -DarchetypeVersion1.2 -DgroupIdcom.javacodegeeks -DartifactIdwar
cd war
gedit pom.xml pom.xml project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemalocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelversion4.0.0/modelversionparentartifactidejb-gwt/artifactidgroupidcom.javacodegeeks/groupidversion0.0.1-SNAPSHOT/version/parentgroupidcom.javacodegeeks/groupidartifactidwar/artifactidpackagingwar/packagingversion0.0.1-SNAPSHOT/version propertiesgwt.version2.0.4/gwt.versionmaven.compiler.source1.6/maven.compiler.sourcemaven.compiler.target1.6/maven.compiler.target/propertiesdependenciesdependencygroupidcom.google.gwt/groupidartifactidgwt-servlet/artifactidversion${gwt.version}/versionscoperuntime/scope/dependencydependencygroupidcom.google.gwt/groupidartifactidgwt-user/artifactidversion${gwt.version}/version scopeprovided/scope/dependencydependencygroupidorg.jboss.jbossas/groupidartifactidjboss-as-client/artifactidversion5.1.0.GA/versiontypepom/typescopeprovided/scope/dependencydependencygroupidcom.javacodegeeks/groupidartifactidejb-jar/artifactidversion0.0.1-SNAPSHOT/versiontypeejb/typescopeprovided/scope/dependencydependencygroupidjunit/groupidartifactidjunit/artifactidversion4.7/versionscopetest/scope/dependency/dependenciesbuildfinalnamewar/finalnameoutputdirectorywar/WEB-INF/classes/outputdirectorypluginsplugingroupidorg.codehaus.mojo/groupidartifactidgwt-maven-plugin/artifactidversion1.2/versionexecutionsexecutiongoalsgoalcompile/goalgoalgenerateAsync/goalgoaltest/goal/goals/execution/executionsconfigurationruntargetcom.javacodegeeks.war.Application/Application.html/runtarget/configuration/pluginplugingroupidorg.apache.maven.plugins/groupidartifactidmaven-compiler-plugin/artifactidversion2.0.2/versionconfiguration${maven.compiler.source}target${maven.compiler.target}/target/configuration/plugin/plugins/build/projectcd src/main/webapp/WEB-INF
gedit web.xml web.xml web-app version2.5 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xsi:schemalocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsddisplay-nameGWT-Maven-Archetype/display-name servletservlet-nameemp/servlet-nameservlet-classcom.javacodegeeks.war.server.services.EmployeeServiceGWTImpl/servlet-class/servletservlet-mappingservlet-nameemp/servlet-nameurl-pattern/com.javacodegeeks.war.Application/emp/url-pattern/servlet-mappingwelcome-file-listwelcome-fileindex.html/welcome-file/welcome-file-list
/web-app 如果我们想在servlet容器中进行ejb注入则web.xml应该适用于2.5规范。 现在让我们看一下gwt服务。 EmployeeServiceGWT.java package com.javacodegeeks.war.shared.services;import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.javacodegeeks.war.shared.entity.EmployeeUtil;RemoteServiceRelativePath(emp)
public interface EmployeeServiceGWT extends RemoteService {public EmployeeUtil findEmployee(long employeeId);public void saveEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void updateEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void saveOrUpdateEmployee(long employeeId, String name, String surname, String jobDescription) throws Exception;public void deleteEmployee(long employeeId) throws Exception;
} 注意RemoteServiceRelativePath与我们在web.xml中定义的servlet路径/com.javacodegeeks.war.Application/emp相关。 EmployeeServiceGWTImpl.java package com.javacodegeeks.war.server.services;import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.UserTransaction;import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.javacodegeeks.ejb.entity.Employee;
import com.javacodegeeks.ejb.session.EmployeeService;
import com.javacodegeeks.war.shared.entity.EmployeeUtil;
import com.javacodegeeks.war.shared.services.EmployeeServiceGWT;public class EmployeeServiceGWTImpl extends RemoteServiceServlet implements EmployeeServiceGWT{/*** */private static final long serialVersionUID 5995064321382986251L;private EmployeeService employeeService;Resource(namejava:UserTransaction) UserTransaction ut;EJBpublic void setEmployeeService(EmployeeService employeeService) {this.employeeService employeeService;}public void deleteEmployee(long employeeId) throws Exception {employeeService.deleteEmployee(employeeId);}public EmployeeUtil findEmployee(long employeeId) {Employee emp employeeService.findEmployee(employeeId);if(emp ! null) {try {ut.begin();EmployeeUtil util new EmployeeUtil(emp.getEmployeeId(), emp.getEmployeeName(), emp.getEmployeeSurname(), emp.getJob());ut.commit();return util;} catch (Exception e) {}}return null;}public void saveEmployee(long employeeId, String name, String surname,String jobDescription) throws Exception {employeeService.saveEmployee(employeeId, name, surname, jobDescription);}public void saveOrUpdateEmployee(long employeeId, String name,String surname, String jobDescription) throws Exception {employeeService.saveOrUpdateEmployee(employeeId, name, surname, jobDescription);}public void updateEmployee(long employeeId, String name, String surname,String jobDescription) throws Exception {employeeService.updateEmployee(employeeId, name, surname, jobDescription);}} 如您所见我们使用注解EJB注入employeeService会话bean。 请注意出于基本原因我们使用EmployeeUtil类 GWT无法处理延迟的初始化关系因此我们将代理集合替换为实际集合。替换应在事务范围内。 package com.javacodegeeks.war.shared.entity;import java.io.Serializable;public class EmployeeUtil implements Serializable {/*** */private static final long serialVersionUID -2732740011239267035L;private long employeeId;private String employeeName;private String employeeSurname;private String job;public EmployeeUtil() {}public EmployeeUtil(int employeeId) {this.employeeId employeeId; }public EmployeeUtil(long employeeId, String employeeName, String employeeSurname,String job) {this.employeeId employeeId;this.employeeName employeeName;this.employeeSurname employeeSurname;this.job job;}public long getEmployeeId() {return employeeId;}public void setEmployeeId(long employeeId) {this.employeeId employeeId;}public String getEmployeeName() {return employeeName;}public void setEmployeeName(String employeeName) {this.employeeName employeeName;}public String getEmployeeSurname() {return employeeSurname;}public void setEmployeeSurname(String employeeSurname) {this.employeeSurname employeeSurname;}public String getJob() {return job;}public void setJob(String job) {this.job job;}} 本文的源代码中提供了gwt接口的其余源代码。 现在我们已迈出最后一步要建立耳朵。我们将创建一个模块来做到这一点。 mvn archetype:create -DgroupIdcom.javacodegeeks -DartifactIdear
cd ear
rm -rf src
gedit pom.xml pom.xml project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0 xsi:schemalocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelversion4.0.0/modelversionparentartifactidejb-gwt/artifactidgroupidcom.javacodegeeks/groupidversion0.0.1-SNAPSHOT/version/parentgroupidcom.javacodegeeks/groupidartifactidear/artifactidversion0.0.1-SNAPSHOT/versionpackagingear/packagingnameear/namedescriptionear for gwt ejb3/descriptiondependenciesdependencygroupidcom.javacodegeeks/groupidartifactidejb-jar/artifactidversion0.0.1-SNAPSHOT/versiontypeejb/type/dependencydependencygroupidcom.javacodegeeks/groupidartifactidwar/artifactidversion0.0.1-SNAPSHOT/versiontypewar/type/dependency/dependenciesbuildpluginsplugingroupidorg.apache.maven.plugins/groupidartifactidmaven-ear-plugin/artifactidconfigurationgenerateapplicationxmltrue/generateapplicationxmlmoduleswebmodulegroupidcom.javacodegeeks/groupidartifactidwar/artifactidcontextrootejb-gwt/contextroot/webmoduleejbmodulegroupidcom.javacodegeeks/groupidartifactidejb-jar/artifactid/ejbmodule/modules/configuration/plugin/plugins/build
/project 要构建项目请转到根项目并输入 mvn安装 本文的源代码位于此处 。 谢谢 。/拍 相关文章 GWT 2 Spring 3 JPA 2 Hibernate 3.5教程 GWT Spring和Hibernate进入数据网格世界 Spring3 RESTful Web服务 GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示 使用Spring AspectJ和Maven进行面向方面的编程 带有Spring和Maven教程的JAX–WS 翻译自: https://www.javacodegeeks.com/2010/09/gwt-ejb3-maven-jboss-51-integration.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929080.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!