struts2-笔记
文件下载http://struts.apache.org/download.cgi
第一步导入jar 包
在lib中有jar 包,不能把这些都导入到项目中
在apps 目录里面,找到实例程序,程序中直接复制jar 包






访问路径: http://127.0.0.1/struts2_day1/hello.action
http://localhost:8080/struts2_day1/hello.action
第四步 配置struts2 过滤器

struts2 配置文件
struts2 的核心配置文件

名称和位置是固定的
1.在配置文件中主要有三个标签,package,action, result ,标签里面的属性。
标签package:
类似于代码包,区别不同的atction,要配置action,必须首先写package标签,在
package 里面才能配置 action
package 标签属性
name 属性
-name属性值跟功能本身没有关系的,在一个配置文件中可以
写多个package 标签,name 属性值不能相同的。
extends 属性
extends="struts-default"
属性值是固定的 , struts-defaul
写了这个属性之后,在packge里面配置的类具有了action 功能。
namespace 属性
namespace 属性值和action 标签里面的name 属性值构成访问路径

标签 action
1.action 标签配置 action 访问路径
2.action 标签属性
name 属性
namespace 属性值和action 标签里面的name 属性值构成访问路径
class 属性
action 全路径
method 属性
比如在 action 里面默认执行的方法 execute 方法,但是在action
里面写其他的,让action 里面多个方法执行,使用method 进行
配置
3.标签 result
根据action 的方法返回值,配置到不同的路径里面。
result 标签里面的属性
name 属性

type 属性
配置如何到路径中(转发或者重定向)type 属性默认值,做转发操作。
2.修改struts2 默认常量
1.修改默认的常量 在struts

2.常用的常量。
1.表单提交数据到action 里面,在action 里面可以获取表单提交的数据。
2.表单提交数据有中文,有乱码问题,解决,post 提交直接设置编码get 提交做编码转换
如果在action 获取表单通过post 方式获得的中文,
分模块开发
1.单独写配置文件,把配置文件单独引入到核心配置文件中

Action 的编写方式。
1.action 编写有三种方式
第一种,创建普通类这个不继承任何类,不实现任何接口。

第二种,创建类,实现接口, Action

第三种,创建类,继承类 AactionSupport(一般使用)

访问Action 的方法。(重点)
1.三种实现方式
第一种使用action 标签的 method 属性,在这个属性里面写执行的action 的方法。
第二种,使用通配符的方式实现。
第三种 使用动态访问实现。
2.错误演示
如果action 放发有返回值,在配置文件中没有配置 出现

在action 方法里面有返回值,如果有返回值的时候类型必须是 String
action 里面的方法可以没有返回值。 没有返回值的时候,在result
标签里不需要配置。
可以方法写成void
让返回值返回"none"

使用action 标签 method 属性
1.创建action ,创建多个方法。

使用method进行配置

使用通配符进行配置
1.在action 标签里面 name 属性,name 属性值里面写 符号 * 星号。
1. * 理解,可以访问到任意内容。

struts2-笔记的更多相关文章
- struts2笔记(3)
关于回显: 如果是int型,默认就会回显为0,如果不想让回显,则Integer就好 //**************************************声明式验证************* ...
- struts2笔记(2)
<context-param> <param-name>pattern</param-name> <param-value>yyyy-MM-dd hh: ...
- struts2笔记
Struts2 中, HTML 表单将被直接映射到一个 POJO,通过params拦截器,类中定义对应属性,及对应set方法即可. Struts2 中,任何一个POJO都可以是一个action类. S ...
- struts2笔记4
1.自定义struts拦截器 应用场景:如果用户登陆后可以访问action中的所有方法,如果用户没有登陆不允许访问action中的方法,并且提示“你没有操作权限” 1)两个页面,一个用户登陆user. ...
- struts2 笔记04 杂记
流程: 1. StrutsPrepareAndExcuteFilter:StrutsPrepareAndExcuteFilter作为前端控制器,是整个Struts2的调度中心. 2. ActionMa ...
- struts2 笔记03 异常支持、防止页面刷新和后退、方法验证
Struts2对异常支持(声明式异常.自动的异常处理), 异常处理(运行期异常事务自动回滚) 1. 自定义异常类,继承RuntimeException或Exception实现构造方法. 2. 配置异常 ...
- struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持
Struts2的上传 1. Struts2默认采用了apache commons-fileupload 2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- Struts2笔记——利用token防止表单重复提交
在一些项目中经常会让用户提交表单,当用户点击按钮提交后,如果再次浏览器刷新,这就会造成表单重复提交,若是提交的内容上传至服务器并请求数据库保存,重复提交的表单可能会导致错误,然后跳转到错误界面,这是一 ...
- Struts2笔记——struts常用标签
使用struts标签前,首先要配置struts2架构,然后导入标签库,jsp插入如下语句: <%@taglib uri="/struts-tags" prefix=" ...
随机推荐
- 原生js、jQuery实现选项卡功能
在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图: 好了,下边 ...
- Angular-ui/bootstarp modal 主控制器与模态框控制器传值
调用模态框: $scope.open = function (size) { //这里很关键,是打开模态框的过程 var modalInstance = $uibModal.open({ animat ...
- UNIX/Linux系统管理技术手册(2)----bash脚本编程
1. 一个简单的例子: $ vim readname.sh #file:readname.sh#!/bin/bash echo -n "Enter your name: " rea ...
- springmvc封装list个数限制问题
提交一颗树,三级区域个数大于1000个导致提交失败!!! org.springframework.beans.InvalidPropertyException: Invalid property 'd ...
- linux 设置git记住密码
linux下: 1.在~/下, touch创建文件 .git-credentials, 用vim编辑此文件,输入: https://{username}:{password}@github.com 注 ...
- SpringMVC学习(六)——@InitBinder注解
有些类型的数据是无法自动转换的,比如请求参数中包含时间类型的数据,无法自动映射到Controller里的Date参数.需要使用@initBinder注解为binder提供一个数据的转换器,这个转换器可 ...
- Installing TensorFlow on Ubuntu
1.安装方法有4种,官方推荐是第一种. virtualenv(官方推荐) "native" pip Docker Anaconda 2.基于virtualenv的 ...
- zookeeper & kafka 集群
http://cloudurable.com/blog/kafka-architecture/index.html 静态解析 cat >> /etc/hosts << EOF ...
- eclipse tomcat jdk 版本引用
今日遇到一个问题,因为比较难找,所以记录下来,方便日后查阅,也许也可以帮助同行. 一个Java project工程,使用了solr6.2,所以需要引用jdk8才可以正常使用. 代码编写好了,已经提交s ...
- 哈夫曼树算法及C++实现
一.相关概念 1.叶子结点的权值(weight)是对叶子结点赋予的一个有意义的数值量. 2.设二叉树有n个带权值的叶子结点,从根节点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和叫做二叉树的带权 ...