【struts2】struts2的使用
1.使用步骤
1) 导入struts2的支持jar包
| 名称 | 说明 |
|---|---|
| struts2-core-2.3.4.1.jar | Structs2的核心类库 |
| xwork-core-2.3.4.1.jar | xwork的核心类库,webwork框架的支持,struts2的前身就是webwork |
| ognl-3.0.5.jar | OGNL表达式语言类库 |
| freemarker-2.3.19.jar | Freemarker模板语言支持类库,视图技术 |
| commons-beanutils-1.8.0.jar | 封装javabean的工具类库 |
| commons-fileupload-1.2.2.jar | 文件上传支持类库 |
| commons-io-2.0.1.jar | 处理IO操作的工具类库 |
| commons-lang3-3.1.jar | 包含了一些数据类型工具类,是java.lang.*的扩展 |
| javassist-3.11.0.GA.jar | (JAVA编程助手)使Java字节码操纵简单。一个编辑Java字节码的类库 |
2) web.xml配置启动的全局的过滤器(Filter)。和ActionServlet类似。。。
<!-- 配置启动struts2的全局过滤器 -->
<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>
3)编写不同的业务Action类 实现Action类,编写不同的业务方法,默认execute()方法
/**
* 登录逻辑的Action
* @author Administrator
*
*/
public class LoginAction implements Action {
// 默认调用方法
@Override
public String execute() throws Exception {
System.out.println("执行了LoginAction的execute方法");
// 返回标记
return "success";
}
}
4)在src目录下(类路径的根目录下),新建一个struts.xml,配置Action对象。
<?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="xxx" extends="struts-default">
<!-- 配置Action http://localhost:8080/day28_struts/login.action -->
<action name="login" class="com.chromer.action.LoginAction">
<result name="success" type="redirect">/index.jsp</result>
</action>
</package>
</struts>
5)访问Action的业务方法
http://localhost:8080/day28_struts/login.action
【struts2】struts2的使用的更多相关文章
- SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)
终于开始了ssh的整合,虽然现在比较推崇的是,ssm(springmvc+spring+mybatis)这种框架搭配确实比ssh有吸引力,因为一方面springmvc本身就是遵循spring标准,所以 ...
- Struts2相关面试题
Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心 ...
- 浅谈 Struts2 面试题收藏
Struts2面试题 一.工作原理 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Fi ...
- struts2学习笔记之一:基本简介
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个Servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互(所有的访问都会被控制器操作控制) ...
- Struts2 面试题分析
1. 简述 Struts2 的工作流程: ①. 请求发送给 StrutsPrepareAndExecuteFilter ②. StrutsPrepareAndExecuteFilter 判定该请求是否 ...
- Spring学习6-Spring整合Struts2
一.Spring为什么要整合Struts2 Struts2与Spring进行整合的根本目的就是要让 Spring为Struts2的Action注入所需的资源对象,它们整合的原理则是只要导入了s ...
- Struts2中的ActionContext、OGNL及EL的使用
文章分类:Java编程 本文基于struts2.1.8.1,xwork2.1.6 1.EL EL(Expression Language)源于jsp页面标签jstl,后来被jsp2.0 ...
- struts1,struts2,springMVC终极对比
最近做项目用到了struts2,之前一直是用struts1和springMVC.感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比. Struts1官方 ...
- struts2+Hibernate4+spring3+EasyUI环境搭建之三:引入sututs2以及spring与sututs2整合
1.引入struts2 <!-- struts2 和心包 排除javassist 因为hibernate也有 会发生冲突--> <dependency> <groupId ...
- Struts1和Struts2的区别和对比(完整版)
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简 ...
随机推荐
- solidity语言4
引用类型(Reference Types) memory 不支持持久保存 storage 保留为变量 复杂类型如arrays和structs,有附加信息,'data location',提示存储在'm ...
- Service Broker完成实例之间的会话详细解读
首先了解service broker是什么东西: Service Broker 是数据库引擎的组成部分,因此管理这些应用程序就成为数据库日常管理的一部分. Service Broker 为 SQL S ...
- June 11th 2017 Week 24th Sunday
I hope I can find the one who is afraid of losing me. 我希望找到一个担心失去我的人. When I was young, sometimes I ...
- leetcode 62、Unique Paths
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- IOS ASI和AFN的 区别
一.底层实现 1> AFN的底层基于OC的NSURLConnection和NSURLSession2> ASI的底层基于纯C语言的CFNetwork框架3> ASI的运行性能 高于 ...
- Codeforces Round #431 (Div. 2)
A. Odds and Ends Where do odds begin, and where do they end? Where does hope emerge, and will they e ...
- HDU 6178 Monkeys
题意:给出一棵 N 个节点树,上面有 K 个猴子,然后竟可能删边,但是每一只猴子必须有直接相邻的猴子与之相邻.求最少剩下几条边. 分析:一条边可以用两只猴子站,这样的一条点对,越多越好,如果是ans个 ...
- 获取input的值
一.jQuery获取单选框的值1.$('input:radio:checked').val():2.$("input[type='radio']:checked").val();3 ...
- JS动态修改微信浏览器中的title
JS动态修改微信浏览器中的title我们的原理是设置一个ifame然后我们再加载一下就可以实现了,具体的例子如下所示. 平时使用JS修改title,直接document.title=新标题就好了 这样 ...
- 【luogu P3808 AC自动机(简单版)】 模板
题目链接:https://www.luogu.org/problemnew/show/P3808 #include <queue> #include <cstdio> #inc ...