一个普通的的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学习笔记-基本结构的更多相关文章

  1. Struts2学习笔记⑧

    今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...

  2. Struts2学习笔记①

    Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...

  3. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  4. Struts2 学习笔记(概述)

    Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...

  5. struts2学习笔记 ⑤

    拦截器初探 昨天临睡觉之前看了看拦截器,也在昨天的学习笔记里面胡诌诌了几句,今天就来好好的会会拦截器这个东西.实际上拦截器是一种模块实现的机制<起码我是这么体会的>(至于说书里面说体现了A ...

  6. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

  7. yii的学习笔记 基本结构 自用

    Yii 学习笔记 W:YII是什么? Q:Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用.它使Web开发中的 可复用度最大化,可以显著提高你的Web应用开发速度.Yii ...

  8. struts2学习笔记二

    一.分文件编写框架配置文件 1.不分文件开发可能产生的问题 就类似于我们在写java类时,所有代码都写在一个类里,甚至写在一个方法里. 当3个人都checkout了struts.xml文件时,第一个人 ...

  9. struts2学习笔记(五)—— OGNL

    一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可 ...

随机推荐

  1. 解除win7系统静音

    #ifdef SPEAKERDEVMUTECONTROL# define SPEAKERDEVMUTECONTROL_EXPORT __declspec(dllexport)#else# define ...

  2. libev 宏展开

    想看源码,宏太多,看着累,宏展开,再看,功力时间不够,先放下 放上宏展开后的代码. libev4.20 展开方示为 ./configure 修改makefile文件,字符串 替换CC为 CPP 注意要 ...

  3. jquery实现标签上移、下移、置顶

    eg:如在后台的标签列表中,实现上移.下移.置顶功能 思路: 1.先用到的克隆方法.clone(true): 即把当前要移动的项先保存好,备于后用. 2.找到当前标签所对应的相关元素及其相关方法: 如 ...

  4. sublime text3 编译less

    1,  下载 插件   链接:http://pan.baidu.com/s/1bNbFJK 密码:m3zt 2,解压后把lessc文件夹放到sublime text3 的\Data\Packages ...

  5. Spring 4 官方文档学习(十一)Web MVC 框架之约定优于配置

    当返回一个ModelAndView时,可以使用其addObject(Object obj)方法,此时的约定是: An x.y.User instance added will have the nam ...

  6. 线程学习笔记 等待句柄和线程池(摘自https://blog.gkarch.com/threading/part2.html#manualresetevent)

    //如果你的应用有很多线程,这些线程大部分时间都在阻塞,那么可以通过调用ThreadPool.RegisterWaitForSingleObject来减少资源消耗.这个方法接受一个委托,它会在向等待句 ...

  7. 获取wifi信息

    最近有个项目需要获取手机附近wifi列表,查了许多资料发现,现在只能查到wifi的SSID,并且用到的是私有api,无法通过app store审核,这里记录一下,方便学习,新手勿喷,欢迎大神指教(wi ...

  8. iOS 开发线程 gcd

      基础知识: 下午9:09 一.基础概念 1.什么是GCD 全称是Grand Central Dispath 纯C语言编写,提供非常多且强大的函数,是目前推荐的多线程开发方法,NSOperation ...

  9. memcached 基本操作

    保存数据 向memcached保存数据的方法有 add replace set 它们的使用方法都相同: my $add = $memcached->add( '键', '值', '期限' );m ...

  10. C# 根据身份证号码获取简易信息

    public class PackIden { /// <summary> /// 根据身份证获取生日 /// </summary> /// <param name=&q ...