1.READ UNCOMMITTED:脏读、不可重复读、虚读都有可能发生
2.READ COMMITTED:防止脏读的发生,不可重复读,虚读都有可能发生
3.REPEATABLE READ:防止脏读,不可重复读的发生,虚读可能发生
4.REALIZABLE:防止脏读,不可重复读,虚读的发生
事务级别越高,安全性越高,效率越低
设置事务的隔离级别:SET transaction isolation levle + 四个隔离级别之一
数据库的分页操作
LIMIT M,N
M:表示查询的开始索引,第一页的索引为0
N:表示每次查询的记录条数

第一页:SELECT * FROM student LIMIT 0,10;
第二页:SELECT * FROM student LIMIT 10,10;
第n页:SELECT * FROM student LIMIT (n-1)*10,10;

总页数:
总页数=总记录条数%10==0?总记录条数/10:总记录条数/10+1
脏数据:一个线程中的事务读取了另一个线程中未提交的事务
事务:在计算机术语中,访问数据库中数据项的一个程序单元(unit),通常包含对数据库读或者写的一系列操作
目的:1.为数据库在失败状态下恢复到正常状态下的方法,同时提供了数据库在一场状态下仍能够保持一致性的方法
2.当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,防止彼此的操作相互干扰
事务被提交到数据库系统中,要么全部执行,要么全部不执行,事务中有失败的操作,则事务中所有的操作都要回滚,回到事务前的状态。
该事务同其他事务的执行没有影响,就好象是各自独立执行一样。
事务的原子性、一致性、隔离性、持久性,就是ACID特性
比如事务:A对B转账的操作包括6个过程
1.查询A账户的余额(500);
2.从A账号支出数目(500-100);
3.把结果回写道A账号中(400);
4.查询B账号的余额(500);
5.往B账号中加入数目(500+100);
6.把结果写道B账号中(600);
拦截器:java拦截器动态拦截Action对象,在Action的前后执行一段代码,Struts通过查找配置文件,通过配置文件实例化要拦截
的对象,让后串成一个list,之后一个一个的调用列表中的拦截器
过滤器:取你所想取
拦截器:拒你所想拒
拦截器站:多个拦截器的组合
<--!注册拦截器-->
<interceptors>
<interceptor name="timer" class="com.deng.interceptor.MyInterceptor">
</interceptors>
<action name="getTime" class="com.deng.action.MyAction">
<result>/1.jsp</result>
<interceptor-ref name="timer"/>
</action>
validation:调用验证框架进行数据验证
fileupload:对文件上传提供支持,将文件和元数据设置到对应的action属性
在Struts-default.xml中定义一个defaultStack拦截器站,并且设置为默认拦截器,那么在定义包的过程中继承Struts-default,才能够使用默认的
defaultStack拦截器,如果在包中指定特定的拦截器,则defaultStack拦截器将不起作用。
在web应用中引入拦截器机制,可以实现对action通用操作的可插拔管理,这种可插拔管理是建立在配置struts.xml的基础上实现的
拦截器的语法格式:
<interceptors>
<interceptor name="拦截器的名字" class="拦截器的类名"/>
</interceptors>
拦截器站的语法格式:
<interceptors>
<interceptors-stack name="拦截器站的名字">
<interceptor-ref name="拦截器的名字"/>
</interceptors>
</interceptors>
在struts.xml配置文件中,原先已经配置了action信息,加入拦截器后,在action之内将需要的拦截器写入即可
<s:form action="doxxx.action" method="post">
<s:textfield name="name" label="the person" />
<s:textfield name="content" label="the content" />
<s:checkbox name="check" label="I have read the paper" />
<s:submit type="button" />
</s:form>
// 获取属性值,name属性,可以将其值显示在网页上
<s:property value="name">
// 引入struts标签库
<%@ taglib prefix="s" uri="/struts.tags"%>
获取session对象的方法
1)从实际的request中获取
HTTPSession session = ServletActionContext.getRequest().getSession()
2)间接使用struts中的map获得,担不是真实的session
ActionContext ac = ActionContext.getContext();
Map m = ac.getSession();
ActionSupport的execute方法是在action没有指定方法时,struts2会默认使用该方法

数据库和struts2的拦截器的更多相关文章

  1. Struts2【拦截器】就是这么简单

    什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Str ...

  2. struts2 paramsPrepareParamsStack拦截器简化代码(源码分析)

    目录 一.在讲 paramsPrepareParamsStack 之前,先看一个增删改查的例子. 1. Dao.java准备数据和提供增删改查 2. Employee.java 为model 3. E ...

  3. 简单理解Struts2中拦截器与过滤器的区别及执行顺序

    简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...

  4. struts2总结六: Struts2的拦截器

    一.Struts2的系统结构图

  5. Struts2使用拦截器完成权限控制示例

    http://aumy2008.iteye.com/blog/146952 Struts2使用拦截器完成权限控制示例 示例需求:    要求用户登录,且必须为指定用户名才可以查看系统中某个视图资源:否 ...

  6. Struts2自定义拦截器Interceptor以及拦截器登录实例

    1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor ...

  7. struts2之拦截器

    1. 为什么需要拦截器 早期MVC框架将一些通用操作写死在核心控制器中,致使框架灵活性不足.可扩展性降低, Struts 2将核心功能放到多个拦截器中实现,拦截器可自由选择和组合,增强了灵活性,有利于 ...

  8. 【struts2】拦截器基础

    1)拦截器是什么? 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制.来回顾一下官方给出的Strut ...

  9. JavaWeb框架_Struts2_(三)---->Struts2的拦截器

    2. Struts2的拦截器(使用拦截器实现权限控制) 2.1 拦截器的概述 拦截器是Struts2的核心组成部分,它可以动态的拦截Action调用的对象,类似与Servlet中的过滤器.Struts ...

随机推荐

  1. java的子类覆盖梗

    项目上线,用户注册时验证码一直报错误,数据库也没问题,代码貌似也没问题. 后面排查到最后,发现是一个子类覆盖父属性问题. JAVA代码中,子类覆盖父类的私有.保护属性,如果不设置get.set方法,拿 ...

  2. Express框架中如何引用ejs模板引擎

    1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog &am ...

  3. PyCharm使用Github管理代码

    本篇文章主要写一下如何通过pycharm客户端来上传下载代码. 安装Git 在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可. 安 ...

  4. PostgreSQL存储过程(1)-基于SQL的存储过程

    什么是SQL函数? SQL函数包体是一些可执行的SQL语言.同时包含1条以上的查询,但是函数只返回最后一个查询(必须是SELECT)的结果. 除非SQL函数声明为返回void,否则最后一条语句必须是S ...

  5. lua元表(metatable)和元方法(metamethod)

    (一) 元表概念: 引言:Lua中的每个值都有一套预定义的操作集合,如数字相加等.但无法将两个table相加,此时可通过元表修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定操作. 访问机制 ...

  6. sqlserver添加查询 表、字段注释(转)

    环境:xp sp3,sql server2008 .sqlserver用语句给表注释 EXECUTE sp_addextendedproperty N'MS_Description', N'表注释', ...

  7. 【JSON.NET】json序列化小驼峰格式(属性名首字母小写)

    废话少说,先上代码 var setting = new JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serializ ...

  8. 【C#新特性】不用out ref同时返回多个值-元组Tuple

    元组Tuple,它是一种固定成员的泛型集合 下面先看看官方的一个使用例子: 创建一个包含7个元素的Tuple数组 // Create a 7-tuple. , , , , , );// Display ...

  9. 【PHP】 php 解析 base64图片上传

    base64 图片编码格式: 类似如下 data:image/JPG;base64,/9j/4S/+RXhpZgAATU0AKgAAAAgACwEPAAIAAAAG php 解析代码如下:  基于tp ...

  10. 【cs229-Lecture3】Logistic回归

    参考: http://www.itongji.cn/article/12112cH013.html http://blog.csdn.net/zouxy09/article/details/20319 ...