struts2开发流程及详细配置

所属分类: 软件编程 / java 阅读数: 15
收藏 0 赞 0 分享

一: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标签的使用等。欢迎阅读本站其他有关专题,感谢大家对脚本之家的支持!

更多精彩内容其他人还在看

Java数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多