struts2开发流程及详细配置

发布时间 - 2026-01-11 03:23:07    点击率:

一:Struts开发步骤:

   1. web项目,引入struts - jar包

   2. web.xml中,引入struts的核心功能

        配置过滤器

   3. 开发action

   4. 配置action

       src/struts.xml

二:详细配置

   1.引入8个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详细配置

<?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">
    <!-- 其他拦截器 -->
    <!-- 引入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>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

3.开发Action(3种方式)

   1种:直接继承ActionSupport

package cn.itcast.a_config;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
	// Action中业务处理方法
	public String login() {
		System.out.println("UserAction.login()");
	return "success";
	}
}

2种:继承Action接口

package cn.itcast.a_config;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction implements Action {
	// Action中业务处理方法
	public String login() {
		System.out.println("UserAction.login()");
		return "success";
	}
	@Override
	public String execute() throws Exception {
		return null;
	}
}

3种:不继承任何类,不实现任何接口

package cn.itcast.a_config;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction {
	private String userName;
	public void setUserName(String userName) {
		this.userName = userName;
	}
	// Action中业务处理方法
	public String login() {
		System.out.println("UserAction.login()" + userName);
		return "login";
	}
	public String register() {
		System.out.println("register()" + userName);
		return "register";
	}
}

4. 配置action :  src/struts.xml

<?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>
    <package name="config" namespace="/" extends="struts-default">
    <action name="login" class="cn.a_config.UserAction" method="login">
            <result name="success">/index.jsp</result>
    </action>
    </package>
</struts>

本文有关struts开发流程及详细配置的内容就到这里,希望对大家有所帮助。有兴趣的朋友可以参阅:struts1之简单mvc示例_动力节点Java学院整理、jsp 开发之struts2中s:select标签的使用等。欢迎阅读本站其他有关专题,感谢大家对的支持!


# struts2  # 开发流程  # 配置开发模式  # Struts2的配置 struts.xml Action详解  # 详解在Java的Struts2框架中配置Action的方法  # Struts 2中的constant配置详解  # struts2中使用注解配置Action方法详解  # Struts2开发 基本配置与类型转换  # Struts2学习笔记(9)-Result配置全局结果集  # struts2配置静态资源代码详解  # struts2入门(搭建环境、配置、示例)详解  # Struts2的配置文件方法小结  # Struts2.5版本struts.xml与web.xml配置的更改方法  # 有兴趣  # 就到  # 感谢大家  # 文件上传  # 拦截器  # lt  # brush  # class  # version  # javassist  # freemarker  # pre  # GA  # lang  # encoding  # www  # xsi  # javaee  # XMLSchema  # org 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  QQ浏览器网页版登录入口 个人中心在线进入  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Laravel怎么为数据库表字段添加索引以优化查询  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何获取PHP WAP自助建站系统源码?  深圳网站制作平台,深圳市做网站好的公司有哪些?  linux top下的 minerd 木马清除方法  浅谈redis在项目中的应用  Java解压缩zip - 解压缩多个文件或文件夹实例  使用Dockerfile构建java web环境  如何在Windows环境下新建FTP站点并设置权限?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  免费视频制作网站,更新又快又好的免费电影网站?  高端建站如何打造兼具美学与转化的品牌官网?  如何在建站之星网店版论坛获取技术支持?  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Laravel如何创建自定义Facades?(详细步骤)  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何优化应用性能?(缓存和优化命令)  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel如何自定义分页视图?(Pagination示例)  如何生成腾讯云建站专用兑换码?  中山网站推广排名,中山信息港登录入口?  Python3.6正式版新特性预览  微信公众帐号开发教程之图文消息全攻略  html如何与html链接_实现多个HTML页面互相链接【互相】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  ,在苏州找工作,上哪个网站比较好?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  详解Android——蓝牙技术 带你实现终端间数据传输  网站制作软件有哪些,制图软件有哪些?  制作电商网页,电商供应链怎么做?  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  北京网站制作的公司有哪些,北京白云观官方网站?  再谈Python中的字符串与字符编码(推荐)  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法