Struts2之初识篇(一)——与struts的区别和基本配置

时间:2022-12-20 00:10:20

正在学习Struts2,该类博客作为笔记整理之用,错误的地方望指正,后期还会不断修改完善.

Struts2资源

Struts官方地址:http://struts.apache.org/

我这里下载了struts2的最新版本struts2-2.5.10.1-all。所有内容如下图:

Struts2之初识篇(一)——与struts的区别和基本配置

其中,apps目录为struts2实例应用程序

   docs目录为struts2指南、向导以及API文档

   lib目录为struts2的发行包以及其依赖包,编程所有需的jar包都在这个目录里可以找到

   src目录为struts2项目源代码

我们可以根据自己的需要下载

关于struts和struts2的区别,可以在docs目录下的docs文件中,找到home网页点开,进入Guides指南,可以查找到各种配置文件示例,在web.xml中可以看到不同版本的web.xml的配置区别

Struts2之初识篇(一)——与struts的区别和基本配置

在xml配置方面的区别:Struts2版本配置没有ng

使用Struts2开发程序的基本步骤

  1、加载Struts2类库

  2、配置web.xml

  3、开发视图层页面

  4、开发控制层Action类

  5、配置Struts2的配置文件(struts.xml)

  6、部署、运行项目

一个简单的Struts2程序开发完整操作

1、第一步:导包Struts2之初识篇(一)——与struts的区别和基本配置,其中最后一个包资源里没有,要自己单独下载。推荐一个下载包的资源库:http://mvnrepository.com/

2、第二步:web.xml配置

 <filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<!--匹配所有 -->
<url-pattern>/*</url-pattern>
</filter-mapping>

3、第三步:开发视图层页面

写个简单的小例子,用form表单提交信息,再在该页面显示出来

 <body>
<h1>
<!--显示action中返回的message信息 -->
${message }
</h1>
<hr>
<form action="helloWorld.action">
请输入您的姓名:
<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>

4、第四步:写一个控制层action类,注意类中必须要有无参构造,要为请求参数提供field,并且要为之提供setter、getter

package com.jredu.action;
/**
* 返回数据给前台视图
* @author dell
*
*/
public class HelloAction { private String name;
private String message; /**
* 当struts action处理请求时,在默认情况下,调用execute方法
* @return
*/
public String execute(){
//把前台传入的名字返回给拼接成完整的信息再返回给前台
setMessage("你好,"+getName()+"!");
//业务处理完毕后,返回视图hello
return "hello";
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
} }

5、第五步:配置Struts2的配置文件struts.xml

 a.所有的action都要放在package标签里

  b.action里最常见的属性:

    name:请求路径

    class:映射的处理类

    method:指定一个处理方法,默认处理方法为execute

  c.需要为处理方法返回的字符串指定相应的物理视图

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 创建一个default包,继承自Struts2的struts-default包。 -->
<!-- namespace为路径;/代表绝对路径,从根目录开始;没有/代表相对路径 -->
<package name="default" namespace="/" extends="struts-default">
<!--配置一个HelloAction -->
<action name="helloWorld" class="com.jredu.action.HelloAction">
<result name="hello">index.jsp</result>
</action>
</package>
</struts>

6,、第六步:部署项目,运行

Struts2之初识篇(一)——与struts的区别和基本配置的更多相关文章

  1. struts2&period;1&period;6教程二、struts&period;xml配置及例程

    1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts. ...

  2. Struts2与Struts的区别

    Struts2与Struts的区别 从Struts2的发展过程来看,Struts2继承了Struts与WebWork的血脉,Struts2取两者之精华,形成新德框架,但是struts2还是更多的继承了 ...

  3. Java-函数式编程(一)初识篇

    开发者使用Java8编写复杂的集合处理算法,只需要简单的代码就能在多喝cpu上高效运行,这就是Lambda表达式的初衷. 提示:函数式编程和语言无关,它是一种思想,任何语言都可以实现函数式编程,区别只 ...

  4. Struts2——(4)OGNL与struts标签

    一.OGNL Object Graphic Navigation Language  对象图导航语言 依赖于 ognl.jar包 OGNL不是Struts框架独有的,它是和框架独立的一种技术. 例如: ...

  5. SSH框架之Spring&plus;Struts2&plus;Hibernate整合篇

    回顾 -Hibernate框架 ORM: 对象关系映射.把数据库表和JavaBean通过映射的配置文件映射起来, 操作JavaBean对象,通过映射的配置文件生成SQL语句,自动执行.操作数据库. 1 ...

  6. 一 SSH整合:Spring整合Struts2的两种方式,struts&period;xml管理Action&amp&semi;Bean管理Action

    SSH回顾 1 引入jar包 Struts2的jar包 D:\Struts2\struts-2.3.35\apps\struts2-blank\WEB-INF\lib  开发基本包 Struts2有一 ...

  7. struts开发&amp&semi;lt&semi;struts中的action详细配置&period; 二&amp&semi;gt&semi;

    在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 详细文件夹结构例如以下 第一种配置方法 新建UserA ...

  8. 2018&period;12&period;15 struts&period;xml 一般配置文件写法 &amp&semi;&amp&semi; 配置动态方法

    struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...

  9. SSH(struts&plus;spring&plus;hibernate)常用配置整理

    SSH(struts+spring+hibernate)常用配置整理 web.xml配置 <?xml version="1.0" encoding="UTF-8&q ...

随机推荐

  1. 解决NetBeans 8&period;x的字体问题

    笔者喜欢用 Consolas 编码,而NetBeans的默认字体是 Monospaced 13. 尽管可以通过"选项-字体和颜色-所有语言"改变默认的字体,比如 Consolas ...

  2. NGUI 滑动页&lpar;UIToggle和UIToggledObjects&rpar;

    1.NGUI->Create->Scroll View 2.给Scroll View添加一个 UIGrid,自己设置Arragement(横向竖向) 3.给Grid添加元素 4.给元素添加 ...

  3. JavaScript脚本语言基础(一)

    导读: JavaScript代码嵌入HTML文档 JavaScript代码运行方式 第一个实例 JavaScript的三种对话框 定义JavaScript变量 JavaScript运算符和操作符 Ja ...

  4. 剑指OFFER之跳台阶(九度OJ1388)

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n< ...

  5. 一步一步重写 CodeIgniter 框架 &lpar;7&rpar; —— Controller执行时将 Model获得的数据传入View中,实现MVC

    1. 实现过程 1) 上一节讲述了 View 视图的加载过程,它是在 Loader 类中加载的,并通过 Include 语句进行包含.那么为了在 View 中传递变量,只需要在 include 语句所 ...

  6. HBase 二级索引与Join

    二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性.RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案. 这篇文章会以HBase做为对象来探讨如何基于Hba ...

  7. python学习第四讲&comma;python基础语法之判断语句&comma;循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  8. redis有序集合性能 列表、集合、有序集合

    https://www.cnblogs.com/pirlo21/p/7120935.html 1.1 列表 列表(list)类型是用来存储多个字符串,元素从左到右组成一个有序的集合.列表中的每个字符串 ...

  9. GoWeb-Gin 文件上载

    前些日子,我们Node.JS了一把. 如今,我们还是回到我们伟大的GO来吧 今天,带领大家继续Golang的啦,而且是个上传文件的例子 先给大家看结果 1. 如果是windows端,你需要安装post ...

  10. 免费获取一年 AVG Internet Security 2014 和 Antivirus Pro 2014

    华为版的 AVG 2014 系列出炉了,用过华为版 2013 系列的童鞋都知道是什么回事,内置一年多的序列号不用那么麻烦去找了. 下载地址: 内置的许可证是:IBY9X-ESYXT-W4BZQ-QI4 ...