自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 21.Spring_基于配置文件的方式实现切面通知

通过xml配置文件的形式来实现切面通知配置。 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/con

2017-05-30 11:38:21 250

原创 20.Spring 通过注解配置Bean

一、在classpath中扫描组件 1.组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件。 2.特定组件包括: @Component:基本注解,标识了一个受Spring管理的组件 @Respository:标识持久层组件 @Service:标识服务层(业务层)组件 @Controller:标识表现层组件 3.对于扫描到的组件,Spring有默认

2017-05-29 11:48:15 244

原创 29.struts2_自定义拦截器

Interceptor接口 每个拦截器都实现com.opensymphony.xwork2.interceptor.Interceptor接口。 init:该方法在拦截器被创建后立即调用,在生命周期里只调用一次。         intercept:每拦截一个请求,该方法调用一次。 destroy:该方法将在拦截器被销毁之前调用,生命周期中也只被调用一次。 AbstractI

2017-05-26 21:41:42 281

原创 28.struts2_表单重复提交

一、什么是表单的重复提交 在不刷新表单页面的情况下,多提点击提交按钮 已经提交成功,回退后再次点击提交 在控制器相应为转发情况下,提交成功后,F5刷新页面(因为此时浏览器url是action的url会重新操作),重定向url就变化了。 二、Struts2解决表单重复提交 使用标签,该标签会在隐藏域和session中放入一个相同的值。经过Token或者TokenSession拦截器

2017-05-26 21:23:28 257

原创 27.struts2_文件的下载

Struts2专门为文件下载提供了一种Stream结果类型,在使用Stream结果时,不必准备一个JSP页面。 可为result 设定如下参数: contentType: 结果类型 contentLength:下载长度 contentDisposition:设定相应头,是一个文件下载类型。一般取值格式为: attachment;filename=“document.pdf”. input

2017-05-25 15:19:21 321

原创 26.struts2_文件的上传

一、准备工作 表单准备:将 HTML表单 enctype属性设置为 multipart/form-data   表单需要使用 method为post的方式    添加字段 二、struts2对文件上传的支持 框架中,FileUpload拦截器和Jakarta Commons FileUpload组件可以完成文件的上传。 步骤: 1.在对应Action建立三个属性 private

2017-05-25 10:59:20 239

原创 25.struts2_自定义验证器和编程验证

一、自定义验证器 定义:可以选择继承ValidatorSupport类(实现一般验证器)或FieldValidatorSupport类(实现字段验证器)。 配置:默认情况下,Struts2会在类路径根目录下加载validators.xml文件中的验证器。若类路径下没有,则从com.opensymphony.xwork2.validator.validator.validators下加载

2017-05-24 20:51:23 288

原创 24.struts2_短路验证,非字段验证,相同验证规则使用一条相应

一、短路验证 validation.xml中添加 conversion类型转换错误验证,当在Age文本框输入非int型参数后,后台会返回包含范围、转换错误的多条消息。 Conversion Error Occurred 20 50 Age needs to be between ${min}and ${max}

2017-05-24 15:21:17 306

原创 23.struts2_输入验证

概述: 一个健壮的web应用程序必须保证用户输入时合法、有效的。除了前段js的验证外,后台也要进行验证。 Struts2的输入验证: -->基于XWork Validation Framework的声明式验证:在xml中配置 -->编程验证:通过编写代码进行验证输入 Action类:TestValidationAction public class TestValidation

2017-05-24 14:39:45 199

原创 22.struts2_运行流程分析

1. 请求发送给 StrutsPrepareAndExecuteFilter 2. StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 Struts2 请求(即是否返回一个非空的 ActionMapping 对象) 3. 若 ActionMapper 认为该请求是一个 Struts2 请求,则 StrutsPrepareAndExec

2017-05-24 10:05:25 345

原创 21.struts2_通过超链接实现国际化转换

实现核心在于:Struts2框架如何确定Local 对象的。具体参见框架的I18n拦截器(I18nInterceptor 类) 在页面上添加中英文按钮,点击即可切换语言。关键参数reqeust_locale English 中文

2017-05-23 20:33:22 267

原创 20.struts2_国际化

1.国际化的目标 1)如何配置国际化资源文件   ①Action 范围资源文件: 在Action类文件所在的路径建立命名规则ActionName_language_country.properties 的文件 ②包范围资源文件: 在包的根路径下建立文件名为package_language_country.properties 的属性文件,一旦建立, 处于该包下的所有 A

2017-05-23 19:58:22 190

原创 19.struts2_ 自定义类型转换

Struts2不能将页面输入的字符串转换到引用类型,需要自定义转换器。 1.开发类型转换器类:一般扩展框架中的 StrutsTypeConverter类, 2.配置类型转器:配置有2种 ①基于字段所在Model的包下新建一个ModelClassName-conversion.properties,在文件中植入键值对: fieldName=类型转换器的全类名(这个类是单例的)第一次使用创建

2017-05-22 20:55:38 266

原创 18.struts2_类型转换,错误消息的显示和定制

从一个HTML表单到Action对象,类型转换的是从字符串到非字符串。 struts2把请求参数映射到action属性的工作由Parameters拦截器负责,可以完成字符串与基本类型之间的转换。

2017-05-22 12:32:32 353

原创 17.struts2_PrepareInterceptor拦截器

为了解决上节的问题 I.   在执行删除的时候, employeeId 不为 null, 但 getModel 方法却从数据库加载了一个对象. 不该加载! II.  指向查询全部信息时, 也 new Employee() 对象. 浪费! 使用PrepareInterceptor拦截器 可以为每一个 ActionMethod 准备 prepare[ActionMethdName]

2017-05-21 17:14:05 360

原创 16.Struts2_使用ParamsPrepareParams拦截器栈

页面修改Employee对象时,传入Aciton id属性,在页面中需要回显。通过id在数据库中取到emp,将各个字段赋值给 栈顶的新Employee。完成回显,并跳转到修改页面。 public String edit(){ //传入的EmployeeID //根据EmployeeID获取数据库对象,emp是数据库取出来的 Employee emp=dao.get(empl

2017-05-21 12:02:26 320

原创 15.struts2_ModelDriven拦截器

有些Action类不代表任何Model对象,他们得功能仅限于提供显示服务,也就是控制单元。如果Action实现了 ModelDriven接口,那么该拦截器会将getModel()方法返回对象置于栈顶。 对应Aciton类,实现了ModelDRiven类 public class EmployeeAction implements RequestAware, ModelDriven,

2017-05-21 11:16:53 228

原创 14.struts2_框架流程分析,以及Params拦截器

ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而 该方法又调用了ActionInvocation.invoke()方法。 ActionInvocation负责Interceptor,Action,Result等一系列元素的调度。 而这些拦截器

2017-05-21 10:34:31 768

原创 13.struts2_主题

主题:为了让所有的UI标签能够产生同样的视觉效果而归集到一起的一组模板 simple   xhtml   css  ajax 如何修改: 1.在struts.xml中 2.在request中 request.setAttribute("theme", "xhtml"); 3.在具体某个标签中

2017-05-20 21:03:22 206

原创 12.struts2_表单标签

使用表单标签的优点 1.表单回显 2.对页面进行布局和排版 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here <% request.setAttribute("the

2017-05-20 20:48:22 176

原创 11.struts2_通用标签

1 Struts2何时将Action的对象放入值栈中? 放入时间:在调用Action类的Action方法时,但在之前会进行如下: -->先创建一个StrutsActionProxy对象 -->在创建StrutsActionProxy之后,对其进行初始化时,把Action对象放入值栈中。 2  *property标签 用来输出值栈内,某个对象的属性值。 s:propert

2017-05-19 22:10:26 394

原创 10.struts2_声明式异常的处理

1.异常处理:exception-mapping元素 struts.xml中配置 exception-mapping标签,可以捕捉在Action中出现的异常, exception:需要捕捉的异常名称 result:出现异常后,跳转到哪个result <action name="product-save" class="com.atguigu.strut

2017-05-19 17:41:43 188

原创 9.struts2_动态方法调用

Struts2可以在忽略struts.xml配置下的方法,而根据url指定的action方法进行调用,这个功能在框架中默认关闭! 1.先在配置文件中开启该功能 <action name="testDynamicMethodInvocation" class="com.atguigu.struts2.action.Test

2017-05-19 12:30:33 208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除