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实现匿名内部类的简单应用

    在查看数码相片时,通常会使用一款图片查看软件,该软件应该能遍历文件夹下的所有图片并进行显示.编写程序,实现一个图片查看软件,它可以支持6张图片,通过单击不同的按钮就可以查看不同的图片. 思路分析:就是 ...

  2. NetBpm 配置篇(2)

    转载注明出处:http://www.cnblogs.com/anbylau2130/p/3877353.html 上一篇中介绍了Netbpm在IIS和CassiniWebServer服务器的安装 通过 ...

  3. The import XXX cannot be resolved

    选择project --> clean后,OK.如果还不行,删掉全部import,然后按alt+/提示,逐个导入.

  4. iOS开发--改变tableHeaderView的高度

    1.先获取tableHeaderView 2.设置它的frame 3.将该view设置回tableview UIView *view=tableView. tableHeaderView; view. ...

  5. ssh面密码登录配置-hadoop安装准备

    1. 用ssh-keygen创建公钥,一直回车即可 root@kali:~# ssh-keygen -t rsa Generating public/private rsa key pair. Ent ...

  6. hadoop应用开发技术详解

    <大 数据技术丛书:Hadoop应用开发技术详解>共12章.第1-2章详细地介绍了Hadoop的生态系统.关键技术以及安装和配置:第3章是 MapReduce的使用入门,让读者了解整个开发 ...

  7. TCPdump指定时间或者指定大小进行循环抓取报文

    背景:我们用tcpdump工具循环抓取网卡上的报文,我们会遇到如下情况: 1. 抓取报文后隔指定的时间保存一次: 2. 抓取报文后达到指定的大小保存一次: 本文就这两种情况给出tcpdump的使用方法 ...

  8. linux系统如何操作隐藏文件

    在linux下,以点"."开头命名的文件在系统中被视为隐藏文件.因此,如果想隐藏某个文件或目录,一种简单的办法就是把文件名命名为点开头. 对于目录backcron,可以这样操作隐藏 ...

  9. Xcode - 添加自定义代码提示

    在开发过程中我们要学会去模仿苹果的一些用法,这样才能让开发更有效率,更规范. 1.苹果自带的代码片段提示 代码片段就是你在Xcode中敲for然后回车,你会看到 for (<#initializ ...

  10. Linux虚拟机下mysql 5.7安装配置方法图文教程

    一. 下载mysql5.7 http://mirrors.sohu.com/mysql/MySQL-5.7/ Linux下载: 输入命令:wget http://mirrors.sohu.com/my ...