Struts2基础配置及原理

本文详细介绍如何在JavaWeb项目中使用Struts2框架,包括创建动态工程、配置核心文件、定义Action及结果等步骤,并深入探讨Struts2的配置技巧与原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 创建javaweb动态工程
  2. 导入核心包
    这里写图片描述
  3. 编写struts的配置文件
    1. 添加头
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
2.  配置
<!-- struts根标签 -->
    <!-- package 
         name 标签随便写,只要不重复就行 一般可以进行模块化区分
         namespace 命名空间(访问Action网址前的一个网址部分)
         extends 继承一个包 struts-default 默认配置,默认提供的功能
     -->
     <!-- action
          name 是你这个类的访问的路径
          class 类的全限定类名
          method 类中被访问的方法

          result
          name 方法的返回值(匹配)
          type 请求跳转的方式,默认是请求转发dispatcher
          值部分:跳转的网站资源
      -->
    <struts>
       <package name="hello" namespace="/hello" extends="struts-default">
          <action name="HelloAction" class="com.lanou3g.hello.HelloAction" method="hello">
             <result name="success">/hello.jsp</result>
          </action>
       </package>
       <!-- 引入其他struts配置文件 -->
       <include file="com/lanou3g/def/struts.xml"></include>
       <include file="com/lanou3g/dynamic/struts.xml"></include>
       <include file="com/lanou3g/test/struts.xml"></include>
    </struts>
 3.常量配置也写在跟标签内
<!-- 常量配置修改 -->
       <!-- 去default.properties文件中找到你要修改的配置 -->
       <!-- name:键值 value:值 -->
       <!-- action,, 
            表示访问路径的后缀,可以是.action或者无后缀
       -->
       <constant name="struts.i18n.encoding" value="UTF-8"></constant>
       <constant name="struts.action.extension" value="action,,"></constant>
       <!-- struts.devMode = false
            可以给你的配置文件提供热加载(更改完了不用重启服务器)
        -->
       <constant name="struts.devMode" value="true"></constant>
   4.  常量配置的动态方法也是写在跟标签中
<!-- 常量配置 动态方法 (不常用 搜索引擎抓取不好,网址过于复杂)-->
       <!-- struts.enable.DynamicMethodInvocation = false -->
       <!-- 默认动态方法是关闭的 -->
       <!-- 使用 dynamic/Demo02Action!方法名 -->
       <!-- 使用通配符配置访问路径 *是方法名
            method 标签中{1}代表取到前面* 获取的方法名  
        -->
       <constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>

       <package name="dynamic" namespace="/dynamic" extends="struts-default">
          <action name="Demo02Action_*" class="com.lanou3g.dynamic.Demo02Action" method="{1}">
             <result name="success">/hello.jsp</result>
          </action>
       </package>

4.Action类的四种创建方式
1. 普通方法

/**
 * Action类创建方式一
 * 随便一个普通类都可以作为一个Action
 * 只需要你去配置struts.xml文件
 * 相比于servlet 减少代码的侵入性
 */
 private String  pub() {
        System.out.println("123456");

        return "success";
    }

2.实现Action接口

@Override
    public String execute() throws Exception {

        return null;
    }

3.常用方式

/**
 * 常用方法 Action类 方式
 * 因为该类实现了很多接口,一个接口就有一个功能
 * @author lanou
 *
 */
public class Demo05Action extends ActionSupport{

}

4.标签默认值

/**
 * action标签的默认值
 * @author lanou
 *
 */
public class Demo06Action {

    public String execute() {
        System.out.println("测试action标签的默认值");
        return "success";
    }

struts2原理

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值