struts+spring+hibernate感悟(转载)
三者的结合堪称完美,整合三者关键是配置文件1.web.xml用于web服务器装载过滤器,servlet,以及配置文件struts在此被装载org.apache.struts.action.ActionServlet,还有它的配置参数config文件struts-config.xml,spring在此被装载org.springframework.web.context.ContextLoaderServlet还有它的配置文件applicationContext.xml,其他省略不列出例子:<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param>
Session实现原理
HTTP协议 ( http://www.w3.org/Protocols/ )是“一次性单向”协议。 服务端不能主动连接客户端,只能被动等待并答复客户端请求。客户端连接服务端,发出一个HTTP Request,服务端处理请求,并且返回一个HTTP Response给客户端,本次HTTP Request-Response Cycle结束。 我们看到,HTTP协议本身并不能支持服务端保存客户端的状态信息。于是,Web Server中引入了session的概念,用来保存客户端的状态信息。 这里用一个形象的比喻来解释session的工作方式。假设Web Server是一个商场的存包处,HTTP Request是一个顾客,第一次来到存包处,管
关于session
session详解 摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session机制五、理解javax.servlet.http.HttpSession六、HttpSession常见问题七、跨应用程序的session共享八、总结参考文档一、术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更
理解cookie和session机制
cookie和session机制之间的区别与联系 具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力.而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式session是针对每一个用户的,变量的值保存在服务器上,用
oracle中的锁机制
锁是一种机制,是用来管理对一个共享资源的并行访问。解停? 只有对资源进行并行访问时才会用到锁,但单个户模式下的数据库是不需要锁的。所以锁的目的就是在多个用户并行访问数据库时为了保证数据的一致和准确性采用的一种保护机制。几乎所有的数据库都采用了锁的机制,但其实现机制却有很大的却别。Oracle在锁的处理上较SYBASE和informix有着明显的优势,特别是在行级锁的处理上,基本上算是完美。封锁问题:一个典型的程序设计缺陷例子。A:用户1检索到一行数据,并准备修改。B:用户2检索到相同的数据。C:用户2删除了这一行,并提交。D:用
sysdbaでログイン失敗、ORA-01031 権限が不足が出たの解決方案
<IT技術の処方箋:sysdbaでログイン失敗、ORA-01031 権限が不足が出た>一般(普通)のユーザーは、sysdbaではログインできません。その場合は、sysdbaの権限を与える必要があります。つまり、sysdba権限のあるユーザーが、sysdbaの権限を与えるのです。例えば、searchmanに権限を与える場合は、以下のようになります。SQL> grant sysdba to searchman;ここで間違いやすいのは、SQL> grant dba to searchman;とやってしまうこと。sysdaba と dba は違いますので、sysdba権限を与えてくださいね。[@more@]sysdbaでログイン失敗
查看并ORACLE的编码方式
select userenv('language') from dual;[@more@]
MySQL数据库导入导出
1. 概述MySQL数据库的导入,有两种方法:1) 先导出数据库SQL脚本,再导入;2) 直接拷贝数据库目录和文件。在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。2. 方法一 SQL脚本形式操作步骤如下:2.1. 导出SQL脚本在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。2.1.1 用phpMyAdmin工具导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。选中“另存为文件”选项,如果数据比较
oracle移植到mysql注意事项
客户用的数据库是mysql,而研发好的产品支持oracle,为了让客户掏腰包,我们必须把数据库环境从oracle转向mysql。我们在转换的过程中碰到了下面一些问题,希望能给同样遭遇的同仁们一些借鉴。如果我们在最初的设计、编码过程中注意数据库的移植性,这种情况下可以完全不需要作额外工作。 一、数据库环境从oracle转向mysql碰到的问题。 因为逻辑不变,所以原则是不改应用程序代码,只改数据库表的创建/初始化sql。下面是我们碰到的问题以及解决办法。 1、 大小写敏感的区别(如果服务器OS是linux)。 在oracle中一般情况下不区分
MySQL数据导入导出方法与工具介绍
翻译声明:本文内容来自Sams Teach Yourself MySQL in 21 Days一书的部分内容,by Mark Maslakowski 英文原文版权属原作者所有,中文的部分翻译有略有增删;原书讲的过于清楚的地方有删,讲的不清楚的地方有增;如果有翻译的不妥或者不正确的地方,请指正。翻译者:David Euler,SCU. de_euler-david@www.yahoo.com.cn 时间:2004/04/24于川大1).mysqlimport的语法介绍mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个参数以及大量的选项可供选择。这个工具把一个文
SQL语句大全—查看表空间(二)
数据库各个表空间增长情况的检查:SQL>SELECT A.TABLESPACE_NAME,(1-(A.TOTAL)/B.TOTAL)*100 USED_PERCENTFROM (SELECT TABLESPACE_NAME,SUM(BYTES) TOTAL FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) A,(SELECT TABLESPACE_NAME,SUM(BYTES) TOTAL FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) B WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME;SQL>SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO
SQL语句大全—查看表空间(一)
查看表空间的名称及大小: SQL> SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES/(1024 * 1024)), 0) TS_SIZEFROM DBA_TABLESPACES T, DBA_DATA_FILES DWHERE T.TABLESPACE_NAME = D.TABLESPACE_NAMEGROUP BY T.TABLESPACE_NAME;查看表空间物理文件的名称及大小:SQL> SELECT TABLESPACE_NAME,FILE_ID,FILE_NAME,ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACEFROM DBA_DATA_FILESORDER BY TABLESPACE_NAME;查看回滚段名称及大小:SQL> SELECT SEGMENT_NAME, TABLESPACE_NAME, R.STATUS, (INITIAL_EXTENT / 1024) INIT
Oracle维护常用SQL语句
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (i
ORA-01658 错误之解决方案
今天在执行创建表命令的时候,发生了“ORA-01658 无法为表空间D_USER中的段创建 INITIAL 区”的错误,最后查了相关资料,原来是表空间已达到100%,增加表空间后再执行,ok![@more@]
获取表单对象的三种方法
1、getElementById() getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。 比如说有一个DIV的ID为docid: 程序代码<div id="docid"></div>那么就可以用getElementById("docid")来获得这个元素。2、getElementsByName() 这个是通过NAME来获得元素,但不知大家注意没有,这个是GET ELEMENTS,复数ELEMENTS代表获得的不是一个元素,为什么呢? 因为DOCUMENT中每一个元素的ID是唯一的,但NAME却可以重复。打个比喻就像人的身份证
Oracle日志管理
ORACLE数据库的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息. 数据库管理员需要检查这个文件有无ORA-错误并定期地对这个日志文件进行存档整理。 在UNIX下可以用grep命令把alert_orasid.log里出现的错误保存到另一个文件。然后去找原因。 $grep ORA- alert_orasid.log > error.log 大家都知道,文件越大,其打开和读写的开销越大。如果日志文件太大了(超过5M), 需要对它截断处理。 直接删除它,让ORACLE重新
ORACLE之查看数据库的SQL
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,
几大数据仓库方案特性比较
导读:IBM公司提供了一套基于可视数据仓库的商业智能(BI)解决方案,包括:Visual Warehou(VW)、Essbase/DB2 OLAP Server 5.0、IBM DB2 UDB,以及来自第三方的前端数据展现工具(如BO)和数据挖掘工具(如SAS)。Sybase提供的数据仓库解决方案称为Warehouse Studio,包括数据仓库的建模、数据抽取与转换、数据存储与管理、元数据管理以及可视化数据分析等工具。 IBM公司提供了一套基于可视数据仓库的商业智能(BI)解决方案,包括:Visual Warehouse(VW)、Essbase/DB2 OLAP Server 5.0、IBM DB2 UDB,以及来自第三方的前端数据展现
查看数据库的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';[@more@]
SQL语句导入导出大全
/******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions/*动态文件名declare @fn varchar(20),@s varchar(1000)set @fn = 'c:test.xls'set @s ='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin