(三)java业务场景篇笔记库(38)
来源:互联网 发布:互盾数据恢复软件安卓 编辑:程序博客网 时间:2024/06/06 09:05
一. SSH的概述
1 ) . 基本认识 :1. ssh是web开发中常见的一种框架,s-struts,s-spring,h-hibernate2. 主要框架任务分工 :
Struts : 在框架中充当控制器,实现MVC,主要用来处理用户的请求,和跳转页面,使项目结构清晰,开发者只需要关注业务逻辑的实现即可Spring : 在框架中充当粘合剂,粘合struts-spring-hibernate,主要来进行事物的控制Hibernate :在框架中充当数据库持久层,只要用来与数据库交互,提高开发效率,减轻程序员对sql控制要求,而且hibernate通过反射机制,有灵活的映射性,还支持各种关系,一对一,一对多,多对多 !
2 ) . 在整合时需注意 :1. Action继承于ActionSupport2. 引入struts-spring-plugin.jar包,从而完成struts和spring的整合3. 在struts2的action中注入service.保证service的名字和配置文件中一致,并生成get,set方法4. Dao层继承于hibernateSupport5.在Dao层的配置文件中注入sessionFactory
二. 防止表单重复提交
1 ) . 针对重复提交的整体解决方案 :1. 用redirect来解决重复提交的问题2. 点击一次之后,按钮失效3. 通过loading4. 自定义重复提交过滤器5. 解决struts2重复提交可以结合 s : token标签来解决重复提交问题2 ) . 利用token的原理 :1. 在前端的jsp页面中加入s:token标签,在访问该页面是就会生成隐藏域,该隐藏域中包含一个随机生成的字符串,并把该字符串存放在session中2. 在struts2的配置文件中加入token拦截器后,当正常访问action的时候,会从session中取出该字符串,然后和页面隐藏域中提交字符串做对比,若一致则正常执行并删除session中存储的字符串
三. JSP标签
1 ) . JSP include 动作 :以"<jsp:动作名" 开 始,以"</jsp:动作名>"结束 例 : <jsp:include page="Filename"/>2 ) . JSP 指令 :以"<%@ " 开始,以"%>" 结束 例 : <%@include file="Filename"%>3 ) . JSP输入表达式 :<%=%> <%=java表达式%> 输出变量的值,后边不能加<%= ; %>4 ) . JSP Scriptlet[脚本] :<%;% <%Java代码%> 例 : <%Calendar now =Calendar.getInstance();%>5 ) . JSP声明 :<%!%><%! 函数或者方法%>
例 :<%!String getHello(String name){return "Hi,"+name+"!";}%>
6 ) . 迭代标签 :<c:foreach> Jstl中的核心标签(core)7 ) . JSP注释 :<!--这是注释,但客户端可以查看到--><%--这也是注释,但客户端不可以查看到--%>8 ) . el 表达式 : ${}9 ) . jsp : include 动作是在运行时动态包含@include指定实在编译时包含她们两个都只能包含本项目的相关文件,不能包含其项目的,若想包含其他项目文件可使用 c:import
四. 过滤器
1 ) . Filter概述 : Filter是一个过滤器,用来在请求前和响应后进行数据的处理2 ) . Filter生命周期 : 实例化--->初始化(init)--->进行过滤(doFilter)--->销毁(destory)--->释放资源一个Filter必须实现javax.servlet.Filter接口3 ). Filter作用 : 在项目中,我们通常使用filter进行编码转换,进行安全验证,进行重复提交的判断4 ) . Filter了解 : Filter相当于拦截器,相当于Spring Aop servlet+jsp+javabean+jdbc+_filter5 ) . 示例代码 : spring的过滤器'<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
阅读全文