`
xpp02
  • 浏览: 1048117 次
社区版块
存档分类
最新评论

Struts2教程 - 1.4 Web项目中使用Struts2初探

 
阅读更多

在开始创建新的 Web 项目让其使用 Struts2 技术之前,请读者先去 Struts2 的官方网站 http://struts.apache.org/2.0.9/index.html  下载 Struts2 。个人推荐下载 struts-2.0.11.1-all.zip ,因为它包含了 Struts2 所有的内容,而且之后的说明和解释都是以该包解压后内容基础上进行的。

如果以上操作都完成了,请解压下载的 Struts2 开发包( struts-2.0.11.1-all.zip )。会看到图 1.4 显示的红框中的几个文件夹。


1.4  Struts2 文件结构图

在上图中除了两个文本文件是介绍 license 和官方网站介绍外,笔者对五个文件夹的内容逐一介绍。

Apps 文件夹中都是使用 Struts2 的一些官方示例。特别是 struts2-blank-2.0.11.1.war Struts2 Web 项目中基础配置的例子。如图 1.5 所示。


1.5  apps 文件结构图

Backport 文件夹中提供了是一些 Struts2 使用 Java4 Java5 互相转化的示例。由于 Struts2 主要是支持 Java5 JDK Java Develop Kit ),而有些公司还在使用 Java4 Java1.4 JDK 。因此 Struts2 设计者提供了这两个版本 Java 互相支持的转化工具和项目的示例。具体内容如图 1.6 所示。


1.6  backport 文件结构图

Docs 文件夹则是 Struts2 设计者提供给入门者的所有学习文档,这样初学者可以使用这些文件配合自己实际操作来加深对 Struts2 的理解。内容如图 1.7 所示。


1.7  docs 文件结构图

Lib 文件夹提供了 Struts2 在项目开发中所有应该支持的 jar 包,读者可以将这些包导入自己开发的 Web 项目使用的类库中。

注意:不是所有的 jar 包都是在读者的 Web 项目中需要的,读者可以选择部分 jar 包导入到自己的 Web 项目类库中。一般情况下 xwork-2.0.4.jar struts2-core-2.0.11.1.jar ognl-2.6.11.jar freemarker-2.3.8.jar commons-logging-1.0.4.jar 这些 jar 包是一定需要导入的。

文件结构图如图 1.8 所示。


1.8  lib 文件结构图

Src 文件夹是 Struts2 所有的源代码,因为 Struts2 也是一个开源的框架之一。因此所有的源代码都开放给开发者,开发者可以去查阅这些代码,了解 Struts2 的内部或底层实现机制。因此从这一角度来看也是入门者学些 Struts2 的一个很好的文档资料。如图 1.9 所示。


1.9  src 文件结构图

熟悉完 Struts2 的文件架构后,打开 MyEclipse ,如图 1.10 MyEclipse 的整体视图。


1.10  MyEclipse 开发视图

单击 File|New|Project 菜单,打开图 1.11 界面。


1.11   新建 Web 项目界面

选择图 1.11 中蓝色显示的 Web Project 项,单击“ Next ”按钮,打开图 1.12 界面。


1.12   设置新项目属性

在图 1.12 中,我们在界面中输入项目名称,比如本章是第一章笔者输入的项目名称是 C01 。项目文件一般都是放在缺省的 MyEclipse 设置的 workspace 文件夹下,当然读者也可以把“ Use defult location ”前的勾去掉,然后单击下一行右侧的“ Browse ”按钮选择自己想存放的项目路径。余下的都是项目中源代码即 Java 代码存放的路径和 JSP 等视图文件存放的路径。还有就是 URL ,以后项目部署成功后,都是按照这个 URL 去访问 Web 系统的。然后可以选择支持的 J2EE 的版本,这里是选择 Java EE 5.0 。然后单击“ Finsih ”按钮就完成 Web 项目初始配置。一个没有任何 Java 文件,视图文件以及配置文件的空白项目就如图 1.13 所示。在这基础上就能方便的把相应的 Struts2 文件配置在这个项目里。


1.13  C 01 项目基础结构

在此基础上我们将 Struts2 lib 文件夹中最基本的类库放到 C01 项目的 WEB-INF\lib 下。如图 1.14 所示。


1.14

也可右击项目名,在弹出的菜单中选择“ properties ”属性,如图 1.15 所示。


1.15   单击最下方的“属性”选项

在弹出的视图 1.16 中选择“ Java Build Path ”项,然后在右侧第三个选项卡“ Libraries ”中可以看到已经导入的 Struts2 的几个 jar 包。可以单击最右侧的几个选择 jar 包路径选择新的 jar 包或更改原有 jar 包设置按钮。弹出视图如图 1.16 所示。


1.16   导入项目支持的 jar

在图 1.13 中,在 WebRoot/WEB-INF/ 下有一个名为 web.xml 文件。该文件是 Web 项目的属性整体配置文件,特别是一些过滤器,拦截器还有 Servlet 的配置都在该文件里定义。如果要把 Struts2 C01 项目中使用,则要把 web.xml 修改成如下代码:

<!------------------------------------------- 文件名: web.xml-------------------------------->

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

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

         <filter>

                   <!-- 过滤器名字   -->

                   <filter-name>struts2</filter-name>

                   <!--  过滤器支持的 struts2   -->

                   <filter-class>

                            org.apache.struts2.dispatcher.FilterDispatcher

                   </filter-class>

         </filter>

 

         <filter-mapping>

                   <!-- 过滤器拦截名字   -->

                   <filter-name>struts2</filter-name>

                   <!-- 过滤器拦截文件路径名字   -->

                   <url-pattern>/*</url-pattern>

         </filter-mapping>

         <welcome-file-list>

                   <welcome-file>index.jsp</welcome-file>

         </welcome-file-list>

</web-app>

从代码中可知已经将 Struts2 的过滤转发器的映射以及 Struts2 拦截的文件路径定义都声明了,具体的代码含义将在之后章节会有介绍,这里只是让读者明白怎么在 Web 项目里用 Struts2

Struts2 还有自己基本的配置文件需要放置在 C01 项目中,也就是之前介绍过的 struts.xml struts.properties 文件。新建这两个文件,将其放在项目的 src 文件夹下,以后 build 整个项目时候,它们也会在 WebRoot\WEB-INF\classes\ 中出现。

放置完之后,效果图 1.17 如图 1.17 所示。


1.17   项目属性文件放置图

1.17 中的 messageResource.properties 是由 struts.properties 定义的扩展属性文件。它们之间关系就相当于 Java 中父类和子类的关系。子类扩展父类。同理也适用于这两个属性文件。现将这三个文件代码内容显示,只不过让读者知道里面有些什么内容,至于这些内容代表含义以后章节会详细介绍。

<!------------------------------------------- 文件名: struts.xml-------------------------------->

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

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<!-- Action 所在包定义   -->

<package name="C01" extends="struts-default">

           <!--  全局导航页面定义   -->

           <global-results>

                    <result name="global">/jsp/login.jsp</result>

           </global-results>

<!-- Action 名字,类以及导航页面定义   -->

           <!--  通过 Action 类处理才导航的的 Action 定义   -->

           <action name="Login"

                    class="com.example.struts.action.LoginAction">

                    <result name="input">/jsp/login.jsp</result>

                    <result name="success">/jsp/success.jsp</result>

           </action>

           <!--  直接导航的的 Action 定义   -->

           <action name="index" >

                    <result >/jsp/login.jsp</result>                    

           </action>

</package>

</struts>

<!------------------------------------------- 文件名 struts.properties -------------------------------->

struts.custom.i18n.resources=messageResource

<!------------------------------------------- 文件名 messageResource.properties -------------------------------->

user.required= 请输入用户名!

pass.required= 请输入密码!

请读者看图 1.18


1.18   项目文件整体结构

该图的文件结构就是笔者配置的使用 Struts2 Web 项目 C01 的基础配置,然后就可以在里面新建视图文件和 Java 文件进行自己的 Web 项目开发。

通过简单的配置,也可以知道 Struts2 配置不是很难,而且在 MyEclipse 帮助下开发工作也是相当快捷的就能完成,并且 Struts2 提供的学习资料和示例也是非常丰富的,因此学习曲线是相当的平缓。在之后章节,笔者将对 Struts2 的各个组成部分和技术细节使用代码示例进行说明。

 

 

 更多信息请查看 java进阶网 http://www.javady.com

 

  • 大小: 16 KB
  • 大小: 7.9 KB
  • 大小: 27.3 KB
  • 大小: 29.9 KB
  • 大小: 43.9 KB
  • 大小: 11.8 KB
  • 大小: 16.5 KB
  • 大小: 13.4 KB
  • 大小: 17.9 KB
  • 大小: 13.7 KB
  • 大小: 6.7 KB
  • 大小: 9.5 KB
  • 大小: 21.9 KB
  • 大小: 2.5 KB
  • 大小: 10 KB
分享到:
评论

相关推荐

    commons-fileupload-1.2.1.jar和commons-io-1.4.jar

    在Struts2中,这个功能主要依赖于两个第三方库:`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`。 `commons-fileupload-1.2.1.jar`是Apache Commons FileUpload组件的特定版本,这是一个用于处理HTTP请求中...

    Struts2 S2-029远程代码执行漏洞初探1

    Struts2 是一个基于 Java 的 Web 框架,使用 OGNL 表达式来访问 ActionContext 中的对象数据。在 Struts2 中,标签库使用 OGNL 表达式来获取对象数据,例如 `&lt;s:property value="#parameters.msg" /&gt;`,Struts2 会...

    commons-fileupload-1.2.1-bin 和 commons-io-1.4-bin.zip

    标题中的"commons-fileupload-1.2.1-bin"和"commons-io-1.4-bin.zip"分别指的是Apache Commons FileUpload 1.2.1版本和Apache Commons IO 1.4版本的二进制包。这两个组件在Java开发中扮演着重要的角色,尤其在处理...

    Struts2_s2-016&017&ognl2.6.11_patch漏洞补丁

    struts.xml文件中新增以下内容: &lt;!-- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --&gt; &lt;bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...

    commons-dbcp-1.2.2,commons-pool-1.4,struts-legacy

    commons-dbcp-1.2.2,commons-pool-1.4,struts-legacy,commons-dbcp-1.2.1,commons-pool-1.3 这个是在安装SQL 2000时,要用到的,希望能对大家有用。

    Struts2 在JDK1.4下运行(J4)

    2. **枚举**:Struts2中的Action和Result类型通常使用枚举表示,但在JDK1.4中,需要使用常量类来模拟枚举的行为。 3. **注解**:Struts2利用注解简化配置,但在JDK1.4中,需要依赖XML配置文件来定义Action、结果和...

    org-netbeans-modules-web-frameworks-struts2lib-v2_2_3.nbm

    org-netbeans-modules-web-frameworks-struts2lib-v2_2_3.nbm

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    这个插件允许开发者在Struts 2中轻松地创建能够返回JSON的Action,使得前端(通常使用JavaScript库如jQuery)可以获取到JSON数据并进行进一步处理。 现在我们来详细讨论这两个库在实际应用中的作用: 1. **json-...

    commons-fileupload.jar和commons-io-1.4.jar

    在这个场景中,"commons-fileupload.jar" 和 "commons-io-1.4.jar" 是实现Struts2文件上传的关键依赖库。 `commons-fileupload.jar` 是Apache Commons FileUpload组件的实现,它提供了一个简单而强大的API,用于...

    struts2文件上传所需的全部jar包

    `struts-plugin.xml`中需要引入`struts2-upload-plugin-2.x.x.jar`,该插件提供了文件上传的配置和处理逻辑。 4. **配置文件**:在`struts.xml`或`struts-default.xml`中,需要配置`params interceptor`和`...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    如果您的项目中使用了Struts2并且需要与JSON数据交互,这个插件是必不可少的。 接着是`struts2-junit-plugin-2.1.8.jar`,这是一个用于Struts2的JUnit测试插件。它扩展了JUnit,使得Struts2的控制器可以在单元测试...

    struts2-dojo-plugin-2.2.1.jar

    安装这个插件的方法非常简单,只需将其复制到Struts2项目的类路径下,然后在Struts配置文件(struts.xml)中进行必要的配置,比如启用Dojo主题或指定特定的Dojo库版本。一旦配置完成,你就可以在JSP页面上直接使用Dojo...

    Struts2-3.24集合jar

    struts2-config-browser-plugin-2.3.24.jar, struts2-core-2.3.24.jar, struts2-jasperreports-plugin-2.3.24.jar, struts2-jfreechart-plugin-2.3.24.jar, struts2-pell-multipart-plugin-2.3.24.jar, struts2-...

    struts2-ssl-plugin-1.2.1.jar

    struts2-ssl-plugin-1.2.1.jar

    struts-taglib-1.3.8.jar

    struts-taglib-1.3.8.jar struts-taglib-1.3.8.jar

    struts-2.5.22-all.zip

    `struts-2.5.22-all`这个压缩包名称暗示了它包含了Struts2框架的所有组成部分,可能包括: 1. `struts2-core.jar`:核心框架,提供基础的MVC功能。 2. `struts2-convention-plugin.jar`:约定优于配置的插件,使得...

    struts2-json-plugin-2.3.8.jar

    在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...

    struts2-showcase.rar

    Struts2-showcase是一个用于演示和学习Apache Struts2框架功能的开源项目。这个压缩包“struts2-showcase.rar”包含了完整的源代码,旨在帮助开发者深入理解Struts2框架的工作原理及其各种特性。以下是对Struts2和...

    struts2-spring-plugin-2.2.1.jar

    在没有Struts2-Spring-Plugin的情况下,要在Struts2应用中使用Spring,需要手动配置Action类与Spring Bean之间的关联。而有了这个插件,配置过程变得更加简单。以下是Struts2-Spring-Plugin-2.2.1.jar提供的主要功能...

    commons-fileupload-1.2.1.jar commons-io-1.4.jar

    Struts2本身没有自带的两个jar 如果不导入的话会有Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]异常

Global site tag (gtag.js) - Google Analytics