05 2016 档案
struts中的请求数据自动封装
摘要:Struts 2框架会将表单的参数以同名的方式设置给对应Action的属性中。该工作主要是由Parameters拦截器做的。而该拦截器中已经自动的实现了String到基本数据类型之间的转换工作。在struts中,默认使用拦截器 进行请求数据自动封装,它会JSP中提交的数据(基本数据类型、String
阅读全文
struts中获取域
摘要:在struts的Action中,有三种方法可以得到request、session、servletContext域。 1.通过ServletActionContext类获取对象 2.通过ActionContext类获取Map 3.通过实现接口,注入map对象 4.三者比较 方法1:使用servlet
阅读全文
struts中的常量,action配置中的默认值
摘要:1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验; 实现Action接口; 不继承任何类,不实现任何接口; 是否继承类或实现接口,struts都会进行默认拦截器的启动,拦截器的启动和Action没有关系。 2.struts中的通配
阅读全文
基于MVC模式的应用框架之struts
摘要:1.struts开发步骤 引入struts的jar包; 在web.xml中引入struts的核心功能,配置struts核心过滤器;(如果项目中用到了其他过滤器,要放在struts过滤器之前,否则会失效) 开发Action,一般继承自ActionSupport,业务方法必须返回String类型,方法不
阅读全文
基于MVC的应用框架之Struts前奏
摘要:1.JSP&Servlet中的MVC MVC的关键是,业务逻辑要与表示分离。通过把业务逻辑放在一个“模型”中,这样业务逻辑本身就能作为一个可重用的JAVA类存在。 在JSP&Servlet中,servlet充当cotroller的角色,它的工作流程如下: 获取请求数据封装; 调用服务方法; 跳转(转
阅读全文
实现嵌套的自定义标签
摘要:1.使用简单标记处理器实现一个嵌套的自定义标签,模拟HTML中的<table>标签 父标签的items属性接受一个List参数,用来存放对象的集合,子标签使用父标签的var属性,依次输出List中集合的对象。 2.先建立实体类UserInfo 3.建立外层标签处理类TableTag 外层标签有两个属
阅读全文
过滤器与包装器
摘要:过滤器允许你拦截请求,也允许你控制响应。Filter很像Servlet,容器管理过滤器的生命周期。和Servlet类似,过滤器也有init()和destroy()方法,对应于servlet的doGet()/doPost(),过滤器则有一个doFilter()方法。过滤器也需要在DD中声明,过滤器的运
阅读全文
监听者
摘要:在web系统中,HttpServletRequest、HttpSession、ServletContext对象在web容器中遵循生成、运行、销毁这样的生命周期。当进行相关的监听配置后,web容器就会调用监听器上的方法,进行对应的事件处理。 1.监听接口和事件类 2.如何告诉容器有一个监听者 有两种方
阅读全文
定制标记---传统标记处理器
摘要:1.传统标记处理器API 2.传统标记处理器生命周期 3.传统标记生命周期取决于返回值 和简单标记处理器不同,容器可以重用传统标记处理器对象,因此最好在doStartTag()中重置实例变量值,否则,这个代码可能只能在第一次能正常工作。 4.如果需要访问体内容 如果需要访问体内容,标记处理器需要扩展
阅读全文
定制标记---简单标记处理器
摘要:标记文件利用另一个页面(使用JSP)实现标记功能,标记处理器利用一个特殊的JAVA类实现标记功能。有两种类型的标记处理器:简单标记处理器和传统标记处理器。 1.建立一个简单标记处理器 1)开发定制标记处理器,扩展自SimpleTagSupport类 2)为标记创建一个TLD(taglib descr
阅读全文
定制标记---标记文件
摘要:使用<jsp:include>指令或<c:import>标签可以动态地向页面增加可重用的内容块,也可以设置请求参数。但是存在两个问题: 1)设置的参数会被当成请求参数传递。你只是想要把信息传给所包含的文件,结果却是参与了这个请求的所有组件都能看到这个值,请求参数本来的目的应该是标识表单数据; 2)如
阅读全文
JSTL标准标签库
摘要:有时使用EL和标准动作达不到目的,于是就引入定制标记。 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些。不过对于JAVA程序员来说,简历定制标记处理器反而更困难。幸运的是,已经有了一个标准的定制标记库,这成为JSP标准标记库。 1.安装JSTL JSTL 1.1并不是JSP 2.0规范
阅读全文
include指令和<jsp:include>标准动作
摘要:利用JSP的包含机制,可以有效的避免重复,把可重用的部分独立出去,使用include把它们包含到当前文件。JSP有两种包含机制:include指令和<jsp:include>标准动作。 1.include指令 2.<jsp:include>标准动作 3.内部原理 include指令和<jsp:inc
阅读全文
JSP中的EL
摘要:1.为什么要使用EL 使用<jsp:getProperty>,只能访问bean属性的性质,不能访问嵌套性质。例如一个含有Dog对象的Person对象。 当然使用脚本可以工作,但是如果不想使用脚本呢?EL(表达式语言)可以使我们不受脚本的限制。 2.使用(.)操作符和[]操作符 使用.操作符时,第一个
阅读全文
jsp:useBean标准动作
摘要:1.bean法则 JavaBean和企业JavaBean是完全不相干的两个东西。普通的非企业JavaBean需要满足一定的规范才能被JSP和servlet使用: 1)必须有一个无参数的公共构造函数; 2)必须按命名约定来命名公共的获取方法和设置方法; 3)设置方法的参数类型和获取方法的返回类型必须一
阅读全文
JSP初识
摘要:JSP最终会变成一个完整的servlet在web应用中运行。它与其他的servlet非常相似,只不过这个servlet类会由容器编写。 1.JSP的生命周期 如果一个web应用包含JSP,部署这个应用时,在JSP生命周期中,整个转换和翻译步骤只发生一次。JSP一旦得到转换和翻译,就像其他servle
阅读全文
Session初识
摘要:web服务器没有短期记忆,所以需要使用session来跟踪用户的整个会话活动。会话管理有3种解决方案: 1)使用隐藏域(很少使用) 在显示页面中使用隐藏域来保存会话ID。例如,在JSP中将input标签的type属性设定为hidden,再将绘画的唯一标识记录到隐藏域的value属性中,并设置name
阅读全文
属性和属性的作用域
摘要:1.什么是属性 属性就是一个对象,可能被绑定到另外3个servlet API对象中的某一个,包括ServletContext、HttpServletRequest或者HttpSession。可以把它简单地认为是一个映射实例对象中的名/值对(名是一个String,值是一个Object)。 2.属性和参
阅读全文
Servlet初识
摘要:1.servlet的生命周期 servlet生命周期中的三大重要时刻 servlet从不存在状态迁移到初始化状态(能够为客户提供服务),首先是从构造函数开始,但是构造函数只是使其成为一个对象,而不是一个servlet,要想成为一个servlet,对象必须具备一些servlet特性,比如能够使用Ser
阅读全文
容器的作用
摘要:我们知道,要由容器来管理和运行servlet,但是为什么要这样呢?容器到底做了哪些工作? 1.通信支持 利用容器提供的方法,你能轻松地让servlet与web服务器对话,无需自己建立ServerSocket、监听接口、创建流等。容器知道自己与web服务器之间的协议,所以你的servlet不必担心we
阅读全文
深入理解HTTP协议
摘要:1.基础概念 HTTP代表超文本传输协议,它运行在TCP/IP之上,是一个应用层协议,由请求和响应构成,是一个标准客户端服务器模型。HTTP是一个无状态的协议,即同一个客户端的这次请求和上次请求是没有对应关系的。默认HTTP的端口号为80。 2.工作流程 HTTP协议永远都是客户端发起请求,服务器回
阅读全文
浙公网安备 33010602011771号