struts2简单入门
- 框架是什么,框架有什么作用
- 框架 实现部分功能的代码.
- 作用 控制请求和响应.
- 相对于WEB项目的执行流程

- struts2项目搭建流程
- 配置web.xml 配置前端控制器[核心控制器] ---一个filter.
- 包名:org.apache.struts2.dispatcher.ng.filter.
- 类名:StrutsPrepareAndExecuteFilter
<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>
- 配置struts.xml --struts2框架配置文件
- 作用:控制struts2框架执行的流程
- 文件名称:struts.xml
- 路径:src
- struts配置文件的加载顺序
- init_DefaultProperties(); // [1] ---------- org/apache/struts2/default.properties
- init_TraditionalXmlConfigurations(); // [2] --- struts-default.xml,struts-plugin.xml,struts.xml
- init_LegacyStrutsProperties(); // [3] --- 自定义struts.properties
- init_CustomConfigurationProviders(); // [5] ----- 自定义配置提供 init_FilterInitParameters() ; // [6] ----- web.xml
- init_AliasStandardObjects() ; // [7] ---- Bean加载
- 创建Action类的三种方式
- POJO类 --除了继承Object类 ,不存在其他继承,实现的类 优点:无耦合 缺点:都要自己去实现.
实现Action类接口 --实现接口的execute方法,并且提供5个返回视图. 优点:耦合度低 缺点:都要自己去实现.
- 实现ActionSupport类 --在Action接口的基础上加强了 表单校验,错误信息设置,获取国际化信息 优点:耦合低 提供的功能多.
- struts.xml配置
<?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> <!--各种配置--> </struts>
- Action配置
1 <package> //声明一个包,管理Action.
2 name //这个包的名称[唯一值]
namespace//和Action的name 属性合并确定一个唯一的地址
extends//要继承的其他包明
abstrace//这个包是否可以被继承 true可以继承<action> //声明一个Action.
name //和包的namespace 合并 确定一个唯一地址
class //这个action要去调用类的类全名 查看Action创建的三种方式 默认第三种
method //这个action要去执行这个类的方法 默认[execute] <result>用于确定返回结果返回视图
name //和action[method]返回结果对应,返回一个视图.默认[success]- 演示:
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="cn.itcast.action.DefaultAction">
<result>/hello.jsp</result>
</action>
</package> 此时输入: http://localhost/struts2_day01_2/a/b/c/hello 也访问到了action。 * 原因:struts2中的action被访问时,它会首先查找
* .namespace="/a/b/c" action的name=hello 没有.
* .namespace="/a/b action的name=hello 没有
* .namespace="/a" action的name=hello 没有
* .namespace="/" action的name=hello 查找到了.
* 如果最后也查找不到,会报404错误.- 默认Action的配置和作用
作用 处理其他Action处理不了的路径.
<default-action-ref name="action的名称" />
class 指定当前包默认执行的类.
struts2简单入门的更多相关文章
- 【java开发系列】—— struts2简单入门示例
前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了js ...
- struts2简单入门-配置文件-struts.xml
struts.xml 作用:配置struts中的action,result,package,全局action,result,等等. 基本文件格式: <?xml version="1.0 ...
- struts2简单入门-执行流程
简单的执行流程图
- struts2简单入门-数据校验
数据校验流程 校验数据的方式 重写execute方法在内部写校验代码 public class LoginAdminAction extends ActionSupport { private Use ...
- struts2简单入门-OGNL表达式
什么是OGNL表达式 Object-Graph Navigation Language的缩写. 可以遍历整个对象结构图,实现对象类型转换等功能的表达式. OGNL实际上是个Map集合,有一个上下文根对 ...
- struts2简单入门-关于Result标签Type属性的说明
Result标签 作用 当action执行完毕,后要返回什么样的视图. Type属性 决定返回的是什么视图. struts-default.xml的Type属性的定义 <result-types ...
- struts2简单入门-参数传递的三种方式
三种方式的简单说明 属性传递 把参数定义为属性提供get/set方法. 使用情况 参数少,不需要共享. 演示代码 public class LoginAction extends ActionSupp ...
- struts2简单入门-Action的三种配置方式
普通的配置方式 优点:可读性高 缺点:重复的配置太多. 使用情况 一个actian只有一个方法,只需要处理一种请求. 代码演示 <action name="voteResult&quo ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
随机推荐
- Django 项目内利用ORM直接运行脚本读库
#导包 import os import sys #将脚本所在工程添加到环境变量 #绝对路径 # sys.path.append('c:/Users/nxy/www/mymac') #相对路径 sys ...
- 解决samtools报错:[main_samview] region "chr2:20,100,000-20,200,000" specifies an unknown reference name. Continue anyway.
根据Samtool 的manual文档介绍,如果想搜索bam文件的某段区域,需要用到以下命令: samtools view aln.sorted.bam chr2:20,100,000-20,200, ...
- mybatis的0和null
<if test="type!=null and type!=''">这样判断会把0也当做null的 另外写一个条件判断0 <if test="type ...
- Adapter的getView
http://blog.csdn.net/yelbosh/article/details/7831812 BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组 ...
- 高级组件——分割面板JSplitPane
分割面板:JSplitPane(方向),默认水平分割.JSplitPane.HORIZONTAL_SPLIT,JSplitPane.VERTICAL_SPLITJSplitPane(方向,boolea ...
- (数学) PTA 1005 继续(3n+1)猜想 (25 分)
1005 继续(3n+1)猜想 (25 分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程 ...
- windows下配置host不生效问题
今天遇到了host配置之后不生效的问题,原因是文本编辑器用的是非windows格式,再notepad++右下角切换一下即可,将notepad++ 视图-显示符号-显示所有字符勾上之后可以看到windo ...
- Spring Boot笔记一 输出hello
开始学习Spring Boot了,本篇文章你可以学到 1.Spring Boot的基本配置,输出一句hello 许嵩 2.Spring boot打包成jar包 一.Spring boot的基本配置 这 ...
- java io系列19之 CharArrayWriter(字符数组输出流)
本章,我们学习CharArrayWriter.学习时,我们先对CharArrayWriter有个大致了解,然后深入了解一下它的源码,最后通过示例来掌握它的用法. 转载请注明出处:http://www. ...
- Web API中的内容协商
一.内容协商的概念 HTTP规范将内容协商定义为“当有多个格式可用时为给定响应选择最佳格式的过程”.HTTP中内容协商的主要机制是这些请求标头: Accept:响应可接受哪些媒体类型,例如“appli ...