您的位置:首页 > 编程语言 > Java开发

Struts框架学习01

2015-10-23 16:58 519 查看

Struts框架学习01

前言

struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

Struts 是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

来自百度百科


总之struts就是基于mvc模式的框架!

struts其实也是servlet封装,提高开发效率!

开发步骤

web项目,引入struts - jar包

web.xml中,引入struts的核心功能 配置过滤器

开发action

配置action



1.下载的struts的jar包中包含很多个jar文件,一般项目中必须引入以下几个jar包:

引入jar文件 commons-fileupload-1.2.2.jar 【文件上传相关包】 commons-io-2.0.1.jar

struts2-core-2.3.4.1.jar 【struts2核心功能包】

xwork-core-2.3.4.1.jar 【Xwork核心包】 ognl-3.0.5.jar

【Ognl表达式功能支持表】 commons-lang3-3.1.jar 【struts对java.lang包的扩展】

freemarker-2.3.19.jar 【struts的标签模板库jar文件】

javassist-3.11.0.GA.jar 【struts对字节码的处理相关jar】

2.配置web.xml

Tomcat启动:

1).首先加载自身web.xml

2).加载所有项目的web.xml

所以通过在项目的web.xml中引入过滤器,让Struts的核心功能的初始化,通过过滤器完成

filter 【

init/ 启动执行

doFilter/ 访问执行

destroy



[code]<!-- 引入struts核心过滤器 -->
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


struts2-core-2.3.4.1.jar包中的

StrutsPrepareAndExecuteFilter 即为核心过滤器

注意:

使用的struts的版本不同,核心过滤器类是不一样的!

3.开发Action

注意:

1. action类,也叫做动作类; 一般继承ActionSupport类

即处理请求的类 (struts中的action类取代之前的servlet)

2. action中的业务方法,处理具体的请求

-必须返回String

-方法不能有参数

[code]如:

public class helloaction extends ActionSupport{
//处理请求
@Override
public String execute() throws Exception {
    System.out.println("访问到了action,正在处理请求.");
    System.out.println("调用service");
    return "success";

}}


4.配置struts.xml

如:

[code]<?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="xxxx" extends="struts-default">
        <action name="hello" class="cn.demo.action.helloaction" method="execute">
            <result name="success">/success.jsp</result>
        </action>
    </package>
</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: