Struts2之初识篇(一)——与struts的区别和基本配置
正在学习Struts2,该类博客作为笔记整理之用,错误的地方望指正,后期还会不断修改完善.
Struts2资源:
Struts官方地址:http://struts.apache.org/
我这里下载了struts2的最新版本struts2-2.5.10.1-all。所有内容如下图:
其中,apps目录为struts2实例应用程序
docs目录为struts2指南、向导以及API文档
lib目录为struts2的发行包以及其依赖包,编程所有需的jar包都在这个目录里可以找到
src目录为struts2项目源代码
我们可以根据自己的需要下载
关于struts和struts2的区别,可以在docs目录下的docs文件中,找到home网页点开,进入Guides指南,可以查找到各种配置文件示例,在web.xml中可以看到不同版本的web.xml的配置区别
在xml配置方面的区别:Struts2版本配置没有ng
使用Struts2开发程序的基本步骤:
1、加载Struts2类库
2、配置web.xml
3、开发视图层页面
4、开发控制层Action类
5、配置Struts2的配置文件(struts.xml)
6、部署、运行项目
一个简单的Struts2程序开发完整操作:
1、第一步:导包,其中最后一个包资源里没有,要自己单独下载。推荐一个下载包的资源库: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的区别和基本配置的更多相关文章
- struts2.1.6教程二、struts.xml配置及例程
1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts. ...
- Struts2与Struts的区别
Struts2与Struts的区别 从Struts2的发展过程来看,Struts2继承了Struts与WebWork的血脉,Struts2取两者之精华,形成新德框架,但是struts2还是更多的继承了 ...
- Java-函数式编程(一)初识篇
开发者使用Java8编写复杂的集合处理算法,只需要简单的代码就能在多喝cpu上高效运行,这就是Lambda表达式的初衷. 提示:函数式编程和语言无关,它是一种思想,任何语言都可以实现函数式编程,区别只 ...
- Struts2——(4)OGNL与struts标签
一.OGNL Object Graphic Navigation Language 对象图导航语言 依赖于 ognl.jar包 OGNL不是Struts框架独有的,它是和框架独立的一种技术. 例如: ...
- SSH框架之Spring+Struts2+Hibernate整合篇
回顾 -Hibernate框架 ORM: 对象关系映射.把数据库表和JavaBean通过映射的配置文件映射起来, 操作JavaBean对象,通过映射的配置文件生成SQL语句,自动执行.操作数据库. 1 ...
- 一 SSH整合:Spring整合Struts2的两种方式,struts.xml管理Action&Bean管理Action
SSH回顾 1 引入jar包 Struts2的jar包 D:\Struts2\struts-2.3.35\apps\struts2-blank\WEB-INF\lib 开发基本包 Struts2有一 ...
- struts开发<struts中的action详细配置. 二>
在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 详细文件夹结构例如以下 第一种配置方法 新建UserA ...
- 2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法
struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...
- SSH(struts+spring+hibernate)常用配置整理
SSH(struts+spring+hibernate)常用配置整理 web.xml配置 <?xml version="1.0" encoding="UTF-8&q ...
随机推荐
- 习惯的PHP命名规则
从C++转PHP也已经很长一段时间了,一直有点代码洁癖,对于文件名,接口名,类名,方法名等都使用严格的驼峰命名法, 但是有时候会犹豫到底用首字母大写区分还是用下划线区分.今天简单总结和规约一下. 1 ...
- 数组的重排序方法reverse()和sort()
js数组中存在两个可以直接用来重排序的方法:reverse()和sort(). reverse()方法比较简单,直接反转数组项的顺序: var arr = [1, 3, 2, 4, 5]; arr.r ...
- 分辨率、像素和PPI
屏幕尺寸是指屏幕对角线的长度,一般以英寸为单位,1英寸(inch)=2.54厘米(cm).传统意义上的照片尺寸也是这个概念.所以同样尺寸(指对角线)的屏幕,也可能长宽比率不同.像素(Pixel):是位 ...
- 005---query接口初步
Query session.createQuery(String hql)方法; * hibernate的session.createQuery()方法是使用HQL(hibernate的查询语句)语句 ...
- 基于react的简单TODOList
前段时间看了下react,写个栗子记录 页面效果如下 效果:展示代办事件,正文加了删除线的是已经完成的,未加横杠的是未完成的, 交互:1.在input里面输入新添加的内容,点击Add按钮添加代办事件 ...
- promise知识点汇总
Promise对象被写进ES6的规范当中,提供的是另外一种更加友好的对于异步编程的解决方案,在这之前大多使用的是回调函数和事件来实现异步编程. 怎么来理解Promise对象呢?对于这个ES6新加入的小 ...
- php实现批量修改文件名称
场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...
- openfire muc 移除成员
muc添加成员到数据库可参考 将Openfire中的MUC改造成类似QQ群一样的永久群 插件 插件是一位大神参考第一篇文章改进后编写的插件,进测试可以直接使用. ------------------- ...
- 对 Servlet 的改进--------Struts2 引入
通过上一篇博客:Servlet 的详解 http://www.cnblogs.com/ysocean/p/6912191.html,我们大致知道了 Servlet 的基本用法.但是稍微分析一下 Ser ...
- ThinkPHP5.0更改框架的验证方法对象->validate(true)->save();
我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $T ...