Struts2+EJB+JBoss的集成Demo
因为Struts2仅仅是一个MVC框架,在JavaEE企业级开发中不像JavaEE标准那么吃香,很多东西得自己来做。这就是为什么很多EJB项目的Web前端都是JSF或者直接就是JSP+Servlet,而不是Struts2了。
新建一个Struts2的项目,之后先看Action代码
package action;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.opensymphony.xwork2.ActionSupport;
import ejb.messageDrivenBean.dto.UserDTO;
import ejb.sessionBean.UserService;
public class EJBAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private UserDTO userDTO;
public UserDTO getUserDTO() {
return userDTO;
}
public void setUserDTO(UserDTO userDTO) {
this.userDTO = userDTO;
}
/**
* @return
*/
public String execute() {
UserService userService;
if (userDTO != null) {
InitialContext ctx;
try {
ctx = new InitialContext();
userService = (UserService) ctx
.lookup("myear/UserServiceEAOImpl/local");
userService.insertUser(userDTO);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return SUCCESS;
}
}
|
这里需要指出的就是红色代码部分,通过全局的JNDI名称来获取SessionBean的实例,之后执行业务。在这个JNDI参数中myear是打包后的ear名称。此处必须指明全局的JNDI名称才行。页面代码和servlet页面代码差不多,只是在form中有一些属性变量不一致罢了在此就不再赘述了,Struts2配置文件如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="ejb" extends="struts-default">
<action name="EJBAction" class="action.EJBAction">
<result name="success">insertUserFormList.jsp</result>
</action>
</package>
</struts>
|
打成war包后放入ear包中,修改application.xml文件后重新部署此ear。运行效果与servlet差不多。在此就不再赘述。其实关键就是Action中的EJB组件是通过应用上下文通过全局的JNDI名称获取的服务对象。不用全局名称,会发生找不到绑定名的Exception。
分享到:
相关推荐
JavaEE5学习笔记07-Web层与EJB集成总结。
JavaEE5学习笔记05-EJB之会话Bean总结...
JavaEE5学习笔记09-将EJB发布成WebService总结。
JavaEE5学习笔记12-JSF集成AJAX使用经验总结。
JavaEE5学习笔记13-JSF集成Facelets使用经验总结.
JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源...
JavaEE5学习笔记03-JMS介绍与使用..
JavaEE5学习笔记02-JNDI与RMI,
JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-...
JavaEE5学习笔记04-JavaMail使用总结----
EJB之消息驱动Bean的总结。ejb 消息驱动Bean j2ee jms java
JavaEE5学习笔记01-JTA和数据库事务.
JavaEE5学习笔记11-JSF转换器验证器使用经验总结。
先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-SaaS-Web-v2.0先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-SaaS-Web-v2.0先电云计算软件服务-云存储网盘JavaEE网络应用开发手册-Cloud-...
javaee-api-8.0-javadoc.jar,这是javaee1.8api的jar包,解压后可用javadoc2chm制作成chm帮助文档。
NULL 博文链接:https://suhuanzheng7784877.iteye.com/blog/909104
《JavaEE实用开发指南:基于Weblogic+EJB3+Struts2+Hibernate+Spring》-- part2/3
java javaee-api-6.0-5
java运行依赖jar包