Struts2学习笔记——第四天

Struts2学习笔记—第四天

Struts2笔记 第四天

一.复习

1. 拦截器

1)作用:

用来定义多数action都需要的,与主要业务功能无关的通过功能代码。 定义“冗余”代码。

2)开发:

  A. 写程序 implements Interceptor接口  
  B. 在配置文件中声明
     <interceptors>
         <interceptor name=”” class=””/>
     <action ...... >
         <interceptor-ref name=”....”/> 
         <result .....>

3) 拦截器栈

  <interceptors>
         <interceptor name=”1” class=””/>
         <interceptor name=”2” class=””/>
         <interceptor-stack name=””>
              <interceptor-ref name=”defaultStack”
  开发拦截器栈的步骤
    A. 自定义拦截器,以及配置
    B. 定义拦截器栈,在栈里引入自定义的拦截器,
       引入系统默认拦截器栈defaultStack

4)默认拦截器栈

二.文件上传

在这里插入图片描述
开发步骤

  1. 定义一个jsp文件,在文件中提供表单File元素,可以选择上传的文件
    注意:
    1)表单标签form有一个默认属性enctype=“application/x-www-form-urlencoded”
    表示表单提交的数据,服务器端是可以通过request.getParameter()方法接收的
    2)如果上传的数据不是普通表单元素(String),则需要修改enctype属性
    enctype=“multipart/form-data”

  2. 在tomcat应用目录下新家一个文件夹用来保存用户上传的文件“upload”

  3. 开发接收文件的Action程序
    在这里插入图片描述
    在这里插入图片描述
    具体程序参看 UploadAction.java

  4. 改进
    1)路径的改进
    第一步:修改文件名
    在Action中提供一个属性用来收集上传文件的文件名,属性名字必须叫做
    xxxFileName(xxx是File属性的名字),提供get和set方法。同样的做法
    还可以收集 xxxContentType(上传文件的类型)
    在这里插入图片描述

    第二步:修改上传文件路径(定义在配置文件中)
    Struts允许在配置文件中为action定义参数,action程序中通过定义同名的实
    例变量来获取这个参数。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    第三步:修改tomcat所在位置的绝对路径
    ServletContext里提供了一个工具方法getRealPath(),可以获取tomcat服务器
    所在位置的绝对路径。
    在这里插入图片描述
    2)文件读写的改进
    在org.apache.commons.io.FileUtils的工具类,里面含有工具方法copyFile( src, dest)
    参数一:需要被拷贝的源文件 参数二:目标文件

  5. 实战建议 — 关于上传文件路径的处理
    建议为每一个用户建立一个文件夹,用来保存该用户上传的文件,文件在命名时,遵
    循 “用户名+文件名+系统时间+文件后缀”。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. 关于文件的大小
    Struts默认只允许上传2M以内的文件,如果需要改变大小,则添加以下配置
    在这里插入图片描述
    注意:配置信息在
    在这里插入图片描述

三.文件下载

在这里插入图片描述
开发步骤:

  1. 提供一个jsp页面,在页面里定义下载文件的超链接(含有下载文件的文件名)
    在这里插入图片描述
  2. 在struts.xml文件中通过标签定义下载文件所在路径
    在这里插入图片描述
  3. 写程序
    1)要求程序最好继承自ActionSupport
    2)提供一个名字固定的方法 getInputStream()
    在这里插入图片描述
    3)对于输出流,不在代码中体现,会体现在配置文件中(struts框架已经封装好了一个
    结果类型叫stream,直接应对输出流)
  4. 写配置文件
    在这里插入图片描述
    设置信息的查找位置
    在这里插入图片描述

四.上传下载综合 — 练习

在这里插入图片描述

  1. 上传:
  1. 存本地文件系统 : 为每一个用户创建一个文件夹, 修改文件名
  2. 入库 : id是db生成 , filename是原始文件名

2.下载 :
1) 显示页面:
<a href=”/xxx/xxxAction?id=<s:property value=’id’/>”>
<s:property value=”filename”/>

五.图片验证码

  1. 作用:安全,减缓网站的访问压力
  2. 组成:随机数 + 图片背景
    在这里插入图片描述

六.Struts配置文件补充

将配置信息分别定义在不同的xml文件中, 在总的struts.xml里引入

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值