设为首页收藏本站language 语言切换
查看: 1589|回复: 0
收起左侧

Java进阶:实现一个简单struts和spring框架

[复制链接]
发表于 2010-2-20 14:54:55 | 显示全部楼层 |阅读模式
<p >apache终于发布了struts2的正式版:struts2.0.6GA,所以我也该从webwork迁移至struts2。struts2基本上就是webwork的翻版,所以迁移过程倒是很简单,只需要修改下配置文件和一些包名就可以了。如果在Eclipse、Netbeans这些集成开发工具的帮助下,记不清包名也很容易找到想要的类的,呵呵。<p ><p >在Eclipse下建立一个Dynamic Web Application。<p ><p >从struts2.0.6的lib目录中复制下面的库文件到WEB-INF/lib目录下:<p >commons-logging-1.1.jar<p >freemarker-2.3.8.jar<p >ognl-2.6.9.jar<p >struts-api-2.0.6.jar<p >struts-core-2.0.6.jar<p >struts-spring-plugin-2.0.6.jar<p >xwork-2.0.0.jar<p ><p >从spring中lib目录中复制下面的库文件到WEB-INF/lib目录下:<p >spring.jar<p ><p >修改web.xml,增加一个struts的分派器filter,映射所有的url-pattern,再增加一个spring的ContextLoaderListener监听器。修改后的内容如下:<p >xml 代码<p ><p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;  &lt;web-app id=&quot;WebApp_ID&quot; version=&quot;2.4&quot;    xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot;    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;    xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;&gt;    &lt;display-name&gt;struts2tutorial&lt;/display-name&gt;       &lt;filter&gt;    &lt;filter-name&gt;struts2&lt;/filter-name&gt;    &lt;filter-class&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-class&gt;    &lt;/filter&gt;       &lt;filter-mapping&gt;    &lt;filter-name&gt;struts2&lt;/filter-name&gt;    &lt;url-pattern&gt;*.action&lt;/url-pattern&gt;    &lt;/filter-mapping&gt;       &lt;welcome-file-list&gt;    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;    &lt;/welcome-file-list&gt;       &lt;listener&gt;    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;    &lt;/listener&gt;     &lt;/web-app&gt;</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >写一个简单的Action,HelloWorld:<p >java 代码<p ><p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>package tutorial;  import com.opensymphony.xwork2.ActionSupport;  public class HelloWorld extends ActionSupport {      public static final String MESSAGE = &quot;Struts is up and running ...&quot;;      public String execute() throws Exception {    setMessage(MESSAGE);    return SUCCESS;    }      private String message;      public void setMessage(String message){    this.message = message;    }      public String getMessage() {    return message;    }  }</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >在源文件路径下(项目的src目录)增加struts.xml配置action。这个文件是集成spring的关键所在,这里面描述有如何将spring2集成到struts2的相关信息:<p >xml 代码<p ><p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>&lt;!DOCTYPE struts PUBLIC    &quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot;    &quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;&gt;  &lt;struts&gt;  &lt;!-- 下面这句表明对象是由spring负责产生的.加上这句后,struts会产生让spring负责  产生bean,如果spring不能产生bean,则由struts自己产生.也可以在struts.properties  文件内定义这个属性.--&gt;  &lt;constant name=&quot;objectFactory&quot; value=&quot;spring&quot;&gt;&lt;/constant&gt;    &lt;package name=&quot;struts2tutoial&quot; extends=&quot;struts-default&quot; namespace=&quot;/&quot;&gt;    &lt;!-- 注意,现在action的class属性不再是类的名字了,而是在spring中的bean的id  详细信息请看下面的spring的bean配置文件applicationContext.xml --&gt;  &lt;action name=&quot;HelloWorld&quot; class=&quot;helloWorld&quot;&gt;    &lt;result&gt;/helloWorld.jsp&lt;/result&gt;    &lt;/action&gt;    &lt;!-- Add your actions here --&gt;    &lt;/package&gt;  &lt;/struts&gt;</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >在WEB-INF/目录下增加spring的bean配置文件applicationContext.xml:<p >xml 代码 <p ><p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;  &lt;!DOCTYPE beans PUBLIC &quot;-//SPRING//DTD BEAN 2.0//EN&quot;   &quot;http://www.springframework.org/dtd/spring-beans-2.0.dtd&quot;&gt;  &lt;beans&gt;      &lt;bean id=&quot;helloWorld&quot; class=&quot;tutorial.HelloWorld&quot;&gt;&lt;/bean&gt;    &lt;/beans&gt;</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >配置很简单,只有一个bean。<p ><p >最后,在WebContent目录下增加helloWorld.jsp:<p >xml 代码<p ><p ><ccid_nobr><table width="400" border="1" cellspacing="0" cellpadding="2"  bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code" ><pre><ccid_code>&lt;%@ taglib prefix=&quot;s&quot; uri=&quot;/struts-tags&quot; %&gt;    &lt;html&gt;    &lt;head&gt;    &lt;title&gt;Hello World!&lt;/title&gt;    &lt;/head&gt;    &lt;body&gt;    &lt;h2&gt;&lt;s:property value=&quot;message&quot; /&gt;&lt;/h2&gt;    &lt;/body&gt;  &lt;/html&gt;</ccid_code></pre></td></tr></table></ccid_nobr><br><p ><p >< align=right></P><p align="center"></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-6 22:03 , Processed in 0.108325 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表