2016年6月1日
摘要: 1.比较过滤器和拦截器 拦截器和过滤器都起到拦截资源的作用。 过滤器:拦截所有资源:jsp、servlet、css、js等,在所有servlet项目中都可以使用; 拦截器:是struts的概念,只能拦截Action请求,只能在struts项目中使用; 2.过滤器的生命周期 过滤器的生命周期包括三个方 阅读全文
posted @ 2016-06-01 11:18 十三弦 阅读(195) 评论(0) 推荐(0) 编辑
2016年5月24日
摘要: Struts 2框架会将表单的参数以同名的方式设置给对应Action的属性中。该工作主要是由Parameters拦截器做的。而该拦截器中已经自动的实现了String到基本数据类型之间的转换工作。在struts中,默认使用拦截器 进行请求数据自动封装,它会JSP中提交的数据(基本数据类型、String 阅读全文
posted @ 2016-05-24 18:49 十三弦 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 在struts的Action中,有三种方法可以得到request、session、servletContext域。 1.通过ServletActionContext类获取对象 2.通过ActionContext类获取Map 3.通过实现接口,注入map对象 4.三者比较 方法1:使用servlet 阅读全文
posted @ 2016-05-24 18:12 十三弦 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验; 实现Action接口; 不继承任何类,不实现任何接口; 是否继承类或实现接口,struts都会进行默认拦截器的启动,拦截器的启动和Action没有关系。 2.struts中的通配 阅读全文
posted @ 2016-05-24 17:43 十三弦 阅读(354) 评论(0) 推荐(0) 编辑
2016年5月23日
摘要: 1.struts开发步骤 引入struts的jar包; 在web.xml中引入struts的核心功能,配置struts核心过滤器;(如果项目中用到了其他过滤器,要放在struts过滤器之前,否则会失效) 开发Action,一般继承自ActionSupport,业务方法必须返回String类型,方法不 阅读全文
posted @ 2016-05-23 17:36 十三弦 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 1.JSP&Servlet中的MVC MVC的关键是,业务逻辑要与表示分离。通过把业务逻辑放在一个“模型”中,这样业务逻辑本身就能作为一个可重用的JAVA类存在。 在JSP&Servlet中,servlet充当cotroller的角色,它的工作流程如下: 获取请求数据封装; 调用服务方法; 跳转(转 阅读全文
posted @ 2016-05-23 16:04 十三弦 阅读(191) 评论(0) 推荐(0) 编辑
2016年5月20日
摘要: 1.使用简单标记处理器实现一个嵌套的自定义标签,模拟HTML中的<table>标签 父标签的items属性接受一个List参数,用来存放对象的集合,子标签使用父标签的var属性,依次输出List中集合的对象。 2.先建立实体类UserInfo 3.建立外层标签处理类TableTag 外层标签有两个属 阅读全文
posted @ 2016-05-20 19:12 十三弦 阅读(2233) 评论(0) 推荐(0) 编辑
摘要: 过滤器允许你拦截请求,也允许你控制响应。Filter很像Servlet,容器管理过滤器的生命周期。和Servlet类似,过滤器也有init()和destroy()方法,对应于servlet的doGet()/doPost(),过滤器则有一个doFilter()方法。过滤器也需要在DD中声明,过滤器的运 阅读全文
posted @ 2016-05-20 18:36 十三弦 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 在web系统中,HttpServletRequest、HttpSession、ServletContext对象在web容器中遵循生成、运行、销毁这样的生命周期。当进行相关的监听配置后,web容器就会调用监听器上的方法,进行对应的事件处理。 1.监听接口和事件类 2.如何告诉容器有一个监听者 有两种方 阅读全文
posted @ 2016-05-20 17:15 十三弦 阅读(548) 评论(0) 推荐(0) 编辑
2016年5月19日
摘要: 1.传统标记处理器API 2.传统标记处理器生命周期 3.传统标记生命周期取决于返回值 和简单标记处理器不同,容器可以重用传统标记处理器对象,因此最好在doStartTag()中重置实例变量值,否则,这个代码可能只能在第一次能正常工作。 4.如果需要访问体内容 如果需要访问体内容,标记处理器需要扩展 阅读全文
posted @ 2016-05-19 17:32 十三弦 阅读(125) 评论(0) 推荐(0) 编辑