J2EE_struts2_入门级了解

1 篇文章 0 订阅
1 篇文章 0 订阅

关于struts是什么东西,有什么优缺点,这里就不做说明了,以后有时间的话再说吧,或者直接在网上找,类似于这种的资料还是很多的。这里就讲的更切合使用一些。

第一步:了解依赖包

用于分析二进制的class文件、相关类、方法等信息的包:asm-3.3.jar、asm-commons-3.3.jar、asm-tree-3.3.jar
用于实现文件上传的包:commons-fileupload-1.2.2.jar、commons-io-2.0.1.jar
通用的工具的扩展:commons-lang3-3.1.jar
模板框架(不依赖服务器并且实现JSP的功能):freemarker-2.3.19.jar
代理类的生成工具:javassist-3.11.0.jar
ONGL支持包:ongl-3.0.6.jar
核心包:struts2-core-2.3.14.jar、xwore-core-2.3.14.jar
以上是struts最基本的依赖包。

第二步:了解配置文件

配置文件有两个:1、web.xml;2、struts.xml
web.xml的配置:struts2是基于过滤器而存在的,所以需要在web.xml中添加struts的拦截器,
    <!-- Struts2拦截器配置 --><span style="white-space:pre"></span><pre name="code" class="html">    <filter>
<!-- 配置Struts2核心Filter的名字 -->
        <filter-name>struts2</filter-name>
        <!-- 配置Struts2核心Filter的实现类 -->
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
<span>	</span><!-- 配置Filter拦截的URL -->
    <filter-mapping><!-- 配置Struts2的核心FilterDispatcher拦截所有用户请求 -->
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 
 struts.xml的配置:因为struts是MVC结构中解决view层问题的,所以配置视图是必然的,当然包括和视图对应的请求地址。 
<?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>
    <package name="/" extends="struts-default">
        <action name="login" class="com.LoginAction" method="login">
            <result name="yes">/jsp/public/main.jsp</result><pre name="code" class="html"><span style="white-space:pre">	</span>    <result name="no">/jsp/public/login.jsp</result>
        </action>
        <action name="logout" class="com.LogoutAction" method="logout">
            <result name="ok">/jsp/public/login.jsp</result>
        </action>
    </package>
</struts>
 以上是关于使用struts2的两个配置文件,web.xml是最基本的标准配置、struts.xml只是一个简单的例子,基本格式是这样子的,具体的配置方式好像有3种吧,这里就随便举个例子,后面有时间的话,我会把3种书写方式都列出来对比,先大概了解一下。 

3.关于后台代码

struts2 和后台的action层是密切关联的,说的直白一点,struts配置的其实就是action层的类。所以他本身对action层的类有一些基本的要求是合理的。
对action的要求:
1.action类必须有默认的构造方法(既无参构造)。
2.action类中的方法必须是无惨的。
3.action类中的的方法必须有返回值,只能是String或void类型。
引出了几个问题:
1、action类中的方法必须是无参的,那么前台的参数怎么传递进来?
方法一:利用HttpServletRequest对象可获得前台的所有参数。
方法二:利用struts2提供的属性驱动或者模型驱动。
2、action类中的方法的返回值只能是String或void,那么返回结果,怎么传回去?
通过将结果返回到值栈,利用前台页面的隐式对象或者el表达式等去获取。

以上是关于struts2的一些基本的了解,struts2本身包含了很多经典的设计以及设计模式,我个人认为struts2中设计最经典的两个地方分别是值栈的设计和拦截器的设计。
感兴趣的可以翻翻源码,欢迎交流学习。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值