Struts2学习笔记-基本结构
一个普通的的web应用文件结构如下:

1. 最上层是应用名,区分大小写,在浏览器输入应用名的时候,必须与应用名的大小一样,例如:localhost:8080/HelloWorld
2. 在应用下,放有很多文件,其中WEB-INF文件夹为必须有的,其余的文件包括一些页面文件,或者样式文件,例如*.jsp,*.css文件等
3. WEB-INF里面放有2个文件夹,lib和classes,和一个文件,web.xml,lib是放一些类库文件,classes是放.class文件,web.xml文件内,编写一些配置内容
按照以上的文件结构编写后,会得出一个普通的web应用,如果想使用struts框架,只需要做一下的几个步骤
1. 把struts2框架的类库放到WEB-INF/lib下
2. 在web.xml文件中,添加struts2的核心过滤器Filter
3. 在WEB-INF/classes下添加struts.xml配置文件
下面看看具体实行
我们先来写一个Action类,action类相当于MVC的控制器control,当用户发出请求信息到服务器时,struts2的机制,拦截器filter就会根据配置访问相应的action,struts2与struts1的区别是后者比较紧耦合,action类都要继承Action这个类,就是说,依赖servlet api,这样的话,这个类除了能在servlet api使用,而不能在其它不带这个框架的地方使用这个类,在struts2的action类里面,不需要继承Action这个类
public class NewHelloWorld {
private String userName;
private String userPassword;
public String getUserName() {
return userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String execute() throws Exception {
if (userName.equals("peter") && userPassword.equals("123456")) {
return "success";
} else {
return "error";
}
}
}
现在有了Action类,但是用户请求的信息,struts2是无法知道它是如何处理的,必须配置这个类,与对应的请求地址对应,这样的映射配置在WEB-INF/classes/struts.xml里面
Struts2学习笔记-基本结构的更多相关文章
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
- Struts2学习笔记①
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- struts2学习笔记 ⑤
拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...
- [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...
- yii的学习笔记 基本结构 自用
Yii 学习笔记 W:YII是什么? Q:Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用.它使Web开发中的 可复用度最大化,可以显著提高你的Web应用开发速度.Yii ...
- struts2学习笔记二
一.分文件编写框架配置文件 1.不分文件开发可能产生的问题 就类似于我们在写java类时,所有代码都写在一个类里,甚至写在一个方法里. 当3个人都checkout了struts.xml文件时,第一个人 ...
- struts2学习笔记(五)—— OGNL
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...
随机推荐
- Select查询语句2
一.模糊查询 1.语法结构 select*from table_name where column like '%context%' 在使用like运算符时如果不使用通配符“%”,则like的作用与= ...
- flash网页播放器
http://www.52player.com/VideoPlayer/ 下载
- apktool更新,JDK升级配置
最近使用apktool反编译apk中的xml文件总是失败. Exception in thread "main" brut.androlib.AndrolibException: ...
- update select
update中加入select 最常用的update语法是:UPDATE <table_name>SET <column_name1> = <value>, SET ...
- opencv学习_15 (利用cmake查看opencv的源码)
当我们有时想查看opencv自带的函数的源代码,比如函数cvCreateImage, 此时我们选中cvCreateImage, 点击鼠标右键->转到定义,我们会很惊讶的发现为什么只看到了cvCr ...
- nodejs: C++扩展
Nodejs的C++扩展首先保证nodejs和v8都正确安装 下载NodeJS源码,我的放在D盘. NodeJS的C++扩展要用VS2010开发,新建一个空的Win32控制台项目,右键——属性,在常规 ...
- FME之于规划CAD数据质量检测
最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...
- (算是dp吧) 小茗的魔法阵 (fzu 2225)
http://acm.fzu.edu.cn/problem.php?pid=2225 Problem Description 在打败了易基•普罗布朗.诺姆•普罗布朗之后,小茗同学开始挑战哈德•普罗 ...
- wav文件格式分析(三)
(四)附表 1.头格式表: 2.PCM数据的存放方式 3.PCM波形样本的数据格式 WAVE文件的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数. 首先存储低有效字节,表示样 ...
- Oracle EBS的BIP报表中显示特殊字体
http://oracleseeker.com/2009/08/25/font_mapping_setup_for_special_character_print_in_oracle_ebs_bip/ ...