Struts2简介与配置

Struts简介

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

工作原理

Created with Raphaël 2.1.0 用户 用户 网页 网页 ActionServlet ActionServlet ActionServlet(StrutsPrepareAndExecuteFilter) ActionServlet(StrutsPrepareAndExecuteFilter) Action Action 访问 发送请求(web.xml) 根据配置分发到Action(struts.xml) 业务处理 返回数据 调用jsp页面 反馈

struts2配置

搭建开发环境

struts2的核心包
  • commons-logging-*.jar Apache旗下commons项目的log日志包
  • aopalliance-*.jar这个包为AOP提供了最普通和通用的接口
  • commons-fileupload-*.jar
  • commons-io-*.jar struts的上传下载 两者缺一不可
  • commons-lang-*.jar为java.lang包提供扩展
  • freemarker-*.jar 一种前台页面模板,应用比较广泛
  • ognl-*.jar 动态图导航语言,struts2处理前台页面的核心语言,相当实用
  • antlr-*.jar 一种工具,它可以接受词文法语言描述,并能产生识别这些语言的语句的程序
  • struts2-core-*.jar struts2的核心包
  • xwork-core-*.jar webwork的核心包,因为struts2的前身是webwork,所以这个是必须的
  • Struts2.3.4.1 异常解决(javassist-*.GA.jar包的添加)
    (* :表示版本号 )
    struts2中各个jar包的具体作用

如何快熟找到需要导入的包?

第一步的话就是下载struts2,并且解压。这个的话之前写的经验已经详细说过了。不会的可以去看看。
第一步的话就是下载struts2,并且解压。这个的话之前写的经验已经详细说过了。不会的可以去看看。
解压出来之后呢,点击apps目录。这个目录存放的是struts2的例子程序。
解压出来之后呢,点击apps目录。这个目录存放的是struts2的例子程序
然后可以看到一个struts2-blank.war文件。war文件就是web应用的打包文件。
把struts2-blank.war名为struts2-blank.jar文件,然后进行解压。
把struts2-blank.war名为struts2-blank.jar文件,然后进行解压
解压之后,是一个让人熟悉的web项目的目录。这里点击WEB-INF目录,然后打开其目录下的lib目录。
这里写图片描述
解压之后,是一个让人熟悉的web项目的目录。这里点击WEB-INF目录,然后打开其目录下的lib目录
之后你就能看到struts2所需要的最基本jar包了。一共13个(当然jar的个数跟版本有点关系)。你就复制这个13个jar文件到你创建的项目lib下就可以了。这样你就不用在106个中挑选了.
之后你就能看到struts2所需要的最基本jar包了。一共13个(当然jar的个数跟版本有点关系)。你就复制这个13个jar文件到你创建的项目lib下就可以了。这样你就不用在106个中挑选了


配置相关文件

配置struts.xml

放置在项目的src目录下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">
        <action name="index" class="com.LoginStruts">
        <!-- action name(index)为浏览器访问地址  class为action类的路径 -->
            <result name="ok">/index.jsp</result>
            <!-- result name为action类返回值     /index.jsp跳转页面-->
            <result name="no">/error.jsp</result>
            <!-- result name为action类返回值     /error.jsp跳转页面-->
        </action>
    </package>



    <!-- Add packages here -->

</struts>
配置web.xml

主要是通过拦截器来控制进入Action

<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>

开发

实现Action接口

package com;
import com.opensymphony.xwork2.Action;

public class LoginStruts implements Action{

    public String execute() throws Exception {

        System.out.println("进入 execute");

        if(1==1){ //逻辑判断,不同的逻辑返回不同的值
            return "ok";

        }

        return "no";
    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值