精心积累技术汇集

来源:互联网 发布:算法设计最值 编辑:程序博客网 时间:2024/05/22 09:49

------------------------------------------------------------------------------------我不怕我是只乌龟,不过只要我一点点的跑,就绝对可以到达终点的-----

★目录如下所示:

1:怎么卸载oracle(不会时看看)

2:web中获取项目名称的代码:

3:使用异常处理来提示我们的哪里报错了,这个方法很重要:

4:jsp中注意的细节问题:

5:spring中的连接数据库的配置如下所示:

6:连接数据库的代码如下所示:

7:分页算法:

8:一些常用的dtd约束文件:

9:MD5算法:

10:取消右连接:可以清楚左浮动带来的不方便处理

11:怎么将数据从外面导入到mysql中,并解决乱码:

12:MySql中解决中文乱码的问题:

13:MySql中的外键约束:

14:Mysql中显示及修改字符集的代码:

15:卡片布局的原理:

16:mysql中导入表格中使用的命令是:

17:判断浏览器类型的代码如下所示:

18:客户端正则表达式应用:

19:注意几个在hibernate中开发的事项:

20:hibernate中的关系详解

21:清空session

22:在上传文件要在form中添加属性:enctype=multipart/form-data

23:可以直接使用引用的的方式进行设置参数,也可以使用外键

24:Ajax的一点知识:

25:Aax的建立:

26:JQuery技术的注意:

27:获取值栈3中方法,生命相当于request域

28:http协议头:

29:S1SH中的一些基本的配置

30:struts2.0的基本配置如下

31:for的高级形式

32:Junit中的三个注解:@Test @Before @After

33:hibernate中的注解:

34:文件的各类格式

35:java调用两种类型的存储过程和创建包的使用

 

 

1:怎么卸载oracle(不会时看看)

1、 开始->设置->控制面板->管理工具->服务停止所有Oracle服务。
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除
3、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
4、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动 这个列表,删除所有Oracle入口。  
5、 运行refedit, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application, 删除所有Oracle入口。  
HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。
    HKEY_CURRENT_USER|Software|Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs, 删除此键下所有以oracle为首的键。
    HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注册表键,删除了Microsoft ODBC FOR ORACLE注册表键以外的所有有Oracle字样的键值。
    HKEY_我的系统上没找到相关的项
    LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除以Oracle或OraWeb为前缀的键。
6、 开始->设置->控制面板->系统->高级->环境变量 删除环境变量CLASSPATH和PATH中有关Oracle的设定  
7、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标  
8、 删除\Program Files\Oracle目录  
9、 重新启动计算机,重起后才能完全删除Oracle所在目录  
10、 删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入 口目录及所有子目录
11、 WIN.INI文件中若有[ORACLE]的标记段,删除该段  
12、 如有必要,删除所有Oracle相关的ODBC的DSN  
13、 到事件查看器中,删除Oracle相关的日志 说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。

2:web中获取项目名称的代码:

pageContext.request.contextPath();--> /springSSHTest1

3:使用异常处理来提示我们的哪里报错了,这个方法很重要:

 

 

4:jsp中注意的细节问题:

 

5:spring中的连接数据库的配置如下所示:

★applicationContext.xml配置文件

*******Spring中的一些配置信息:*******

<?xml version="1.0" encoding="utf-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<!-- 测试bean -->

<bean id="testService" class="com.cn.domain.TestService">

<property name="name" value="龚为明"></property>

</bean>

<!-- 配置我们的数据源 -->

<bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>

<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"></property>

<property name="username" value="scott"></property>

<property name="password" value="123456"></property>

<!-- 另外配置一下安全措施 -->

<!-- 配置初始时开启多少个连接池 -->

<property name="initialSize" value="3"></property>

<!-- 配置最多开启多少个连接池,一般就是500个就可以了,要更多在修改即可-->

<property name="maxActive" value="500"></property>

<!-- 配置最大空闲开启多少个连接池 -->

<property name="maxIdle" value="2"></property>

<!-- 配置最小空闲开启多少个连接池,意思是,你不用的时候,会自动的销毁 -->

<!-- 最好开启一个连接池 -->

<property name="minIdle" value="1"></property>

</bean>

<!-- 接着配置bean工厂了 -->

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="basicDataSource"></property>

<property name="mappingResources">

<list>

<!-- 这里配置spring管理的bean -->

<value>com/cn/domain/Employee.hbm.xml</value>

</list>

</property>

<property name="hibernateProperties">

<value>

<!-- 这里的值绝对不能写错哦,否则会出好多错,难以调试 -->

hibernate.dialect=org.hibernate.dialect.OracleDialect

//这个是我们的mysql连接的方案名称

//hibernate.dialect=org.hibernate.dialect.MySQLDialect

//sqlserver方案名称

//Hibernate.dialect=org.hibernate.dialect.SQLServerDialect

hibernate.hbm2ddl.auto=update

hibernate.show_sql=true

hibernate.format_sql=true

</value>

</property>

</bean>

 

<!-- 配置我们的EmployeeServiceImp -->

<bean id="employeeServiceInter" class="com.cn.service.imp.EmployeeServiceImp">

<!-- 获取上面的sessionFactory工厂 -->

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

 

<!-- 配置事物管理的机制 -->

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

 

<!-- 配置完之后还必须启动事物才会生效 -->

<tx:annotation-driven transaction-manager="txManager"/>

</beans>

<!--开启的时候是使用注解的方法进行开启事物管理-->

@Transactional

 

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream

 

<!--可以让我们的web层可以和spring有关联了,web.xml配置文件-->

<!--这段代码可以在action中获取到spring实例-->

<context-param>

 <param-name>contextConfigLocation</param-name>

 <param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--对下spring容器进行实例化-->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

<!--配置二级缓存-->

<property name="hibernateProperties">

<value>

hibernate.cache.user_second_level_cache=true

hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider

hibernate.generate_statistics=true

</value>

</property>

 

<!--启动注解:就不用在程序设置属性,直接在配置中解决-->

<context:annotation-config></context:annotation-config>

 

<!--自动扫描以com打头的配置文件-->

<context:component-scan base-package=com/>

然后在文件中可以Action中使用@Controller @Resource

Service可以配置:@Transaction @Service

 

 

6:连接数据库的代码如下所示:

//sql2005的JDBC连接

com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=book

//sql2005数据库桥接(桥接都差不多)

sun.jdbc.odbc.JdbcOdbcDriver

jdbc:odbc:mytest

//sql2008的JDBC连接:(引入sqljdbc4.jar)

com.microsoft.jdbc.sqlserver.SQLServerDriver

jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test

//oracle数据库JDBC连接

Class.forName("oracle.jdbc.driver.OracleDriver");

ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","123456")

//mysql数据库JDBC连接在hibernate中这样连接,

☛在spring中org.gjt.mm.mysql.Driver是这样连接的

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/myscottdb","root" ,"root"

 

sshdriverClassName: => org.gjt.mm.mysql.Driver

 

☛为了不乱码可以加上解决乱码的代码:

jdbc:mysql://localhost:3306/myscottdb?useUnicode=true&characterEncoding=UTF-8","root" ,"root"

 

7:分页算法:

1:oracle中的分页

1:int pageCount = rowCount%pageSize==0?rowCount/pageSize:rowCount/pageSize+1;

2:int pageCount=(rowCount+1)/pageSize-1;

3:select * from (select a1.*, rownum rn from (select * from emp) a1 where rownum<=10) where rn > 10;

 

--使用between..and的算法进行分页算法演示

4:select * from (select A.*, rownum rn from (select * from employee) A) where

rn between 20 and 40

1. SELECT * FROM   

2. (  

3. SELECT A.*, ROWNUM RN   

4. FROM (SELECT * FROM TABLE_NAME) A   

5. )  

6. WHERE RN BETWEEN 21 AND 40 

 

2:mysql分页算法

Select * from 表明 limit 从第几条起(从0开始),起多少条

Select * from employee limit 2,3;

--java中的:Select * from employee (pageNow-1)*pageSize,pageSize

3:sql server分页算法

select 10 * from employee where id not in (

select top 20 id from employee order by id)

4:hibernate中的分页

query.setFirsetResult();

query.setMaxResult()

 

 

8:一些常用的dtd约束文件:

1:struts-config.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">

1.1:struts-config.xml中配置spring代码如下所示:

  <!-- 注意这里controller有顺序的,

  那么以后就直接放在action-mapping之后好吧-->

  <!-- action中到spring中去实例化我们的

  Action对象DelegatingRequestProcessor-->

  <!-- 有了这个配置,action就会自动的到spring中去加在实例了-->

  <controller>

  <set-property property="processorClass"

value="org.springframework.web.struts.DelegatingRequestProcessor"/>

  </controller>

  <message-resources parameter="com.struts.ApplicationResources" />

2:xxx.hbm.xml:

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 

<hibernate-mapping package="com.cn.domain">

<class name="Employee" table="employee">

<cache usage="read-write"/>使用二级缓存

<id name="id" type="java.lang.Integer">

<!-- 这个native可以自动选择你的数据库类型进行匹配-->

<generator class="native"></generator>

</id>

<property name="name" type="java.lang.String">

<column name="name"  length="20" not-null="true"></column>

</property>

<property name="email" type="java.lang.String">

<column name="email" length="16"></column>

</property>

<property name="password" type="java.lang.String">

<column name="password" length="6" not-null="true"></column>

</property>

<property name="grade" type="java.lang.Integer">

<column name="grade"></column>

</property>

<!-- 配置关系映射文件 -->

<many-to-one name="dept" column="dept_id"></many-to-one>

</class>

</hibernate-mapping>

3:hibernate.cfg.xml:

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->

<hibernate-configuration>

<session-factory>

<property name="dialect">

org.hibernate.dialect.Oracle9Dialect

</property>

<property name="connection.url">

jdbc:oracle:thin:@127.0.0.1:1521:orcl

</property>

<property name="connection.username">scott</property>

<property name="connection.password">123456</property>

<property name="connection.driver_class">

oracle.jdbc.driver.OracleDriver

</property>

<property name="myeclipse.connection.profile">

oracle.jdbc.driver.OracleDriver

</property>

<property name="show_sql">true</property>

<property name="format_sql">true</property>

<property name="hbm2ddl.auto">update</property>

<!-- 管理映射的表 -->

<mapping resource="com/cn/domain/Course.hbm.xml" />

<mapping resource="com/cn/domain/Student.hbm.xml" />

<mapping resource="com/cn/domain/Studcourse.hbm.xml" />

</session-factory>

</hibernate-configuration>

4:web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

 

<!--这个可以解决懒加载的问题-->

  <filter>

   <filter-name>OpenSessionInViewFilter</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

  </filter>

  <filter-mapping>

  <filter-name>OpenSessionInViewFilter</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>

  

  <!-- 添加一段可以直接实例化spring的配置-->

  <context-param>

  <param-name>contextConfigLocation</param-name>

  <!-- 这里可以加在spring,进行实例化-->

  <param-value>classpath:applicationContext.xml</param-value>

  </context-param>

  <!-- spring进行实例化 ,这里有一个listener的接口-->

  <listener>

  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

  </listener>

  

 

9:MD5算法:

import java.security.*;      

import java.security.spec.*;     

class MD5_test {      

 public final static String MD5(String s) {      

  char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',      

    'a', 'b', 'c', 'd', 'e', 'f' };      

  try{      

   byte[] strTemp = s.getBytes();      

   MessageDigest mdTemp = MessageDigest.getInstance("MD5");      

   mdTemp.update(strTemp);      

   byte[] md = mdTemp.digest();      

   int j = md.length;      

   char str[] = new char[j * 2];      

   int k = 0;      

   for (int i = 0; i < j; i++) {      

   byte byte0 = md[i];      

   str[k++] = hexDigits[byte0 >>> 4 & 0xf];      

   str[k++] = hexDigits[byte0 & 0xf];      

}      

    return new String(str);      

  }catch (Exception e) {      

    return null;      

  }      

 }

 

10:取消右连接:可以清楚左浮动带来的不方便处理

 }

 

 

11:怎么将数据从外面导入到mysql中,并解决乱码:

load data local infileD:/data/a.txt into table table1

fields  terminated by \t

set character_set_results=gb2312;

 

12:MySql中解决中文乱码的问题:

☞ 小技巧:

mysql 自带的client 默认支持 utf8 码,所有我们在添加中文的时候,需要设置让client支持gbk

* show variables like ‘char%’;   //显示关于字符的设置参数

* set character_set_client=gbk; //可以存中文

* set character_set_results=gbk; //可以看中文

☛mysql中的类型如下所示:

 

 

13:MySql中的外键约束:

create table department(

id int(11) primary key auto_increment,

dname varchar(30) unique not null

)

create table employee(

e_id int(11) primary key auto_increment,

ename varchar(30) unique not null,

constraint Foreign_KY foreign key(e_id) references department(id)

)

 

14:Mysql中显示及修改字符集的代码:

1:show variables like ‘char%’;

2:set names utf8;

3:show create table employee;

4:show create database scott;

 

15:卡片布局的原理:

 

 

 

16:mysql中导入表格中使用的命令是:

注意:前提是必须保证我们的这个这个保存的格式和数据库的格式要一样

可以使用这命令创建数据库并制定格式:create database gwm character set utf-8

☛load data local infile 'F:/data/university.txt' into table university fields terminated by '\t';

 

17:判断浏览器类型的代码如下所示:

1:

window.onload=function aa(){

if(window.ActiveXObject){

alert(“IE浏览器”):

}else{

alert(“火狐浏览器”);

 }

}

2:

<script type="text/javascript">

function ajaxFunction()

 {

 var xmlHttp;

 try

    {

   // Firefox, Opera 8.0+, Safari

    xmlHttp=new XMLHttpRequest();

    }

 catch (e){

  // Internet Explorer

   try{

      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

   }catch (e){

   try{

        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

   }catch (e) {

         alert("您的浏览器不支持AJAX!");

         return false;

    }

   }

  }

}

</script>

18:客户端正则表达式应用:

  function checkValue(){

  varval=document.getElementById("inputNode").value;

  if(val==""){

  alert("请输入值!");

  return;

  }

  if(val<0 || val>${pageCountPage}){

  alert("请你输入<1><"+${pageCountPage}+">之间的数");

  return;

  }

  varreg=/^[a-zA-Z_]{1,}$/;

  /*var reg=new RegExp("[a-zA-Z_]{1,}");*/

  if(val.match(reg)){

  alert("请输入数字!");

  return;

  }

19:注意几个在hibernate中开发的事项:

1:当我们的修改外键的时候:可以使用dept_id字段,而不是使用dept对象进行插入,

2:在增减的时候,确实使用对象进行增加字段的哦

 

20:hibernate中的关系详解

 

要想删除那个表就级联(cascade=all)那个表就可以了

21:清空session

 

22:在上传文件的时候记得要在form中添加属性:

编码类型:enctype=multipart/form-data

文件类型:FormFile

 

23:可以直接使用引用的的方式进行设置参数,也可以使用外键哦

 

 

 

24:Ajax的一点知识:

Spring中不能配置Servlet,Ajax目录不能放在WEB-INF否则不能访问

但是在tomcat中Ajax可以和我们的Servlet打交道

 

 

 

25:Aax的建立:

  <script type="text/javascript" src="jquery-1.3.1.js"></script>

 <script type="text/javascript">

//创建AJax对象

function getXmlHttpReuqest(){

var xmlHttpRequest;

if(window.ActiveXObject){

xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");

}else{

xmlHttpRequest=new ActiveXObject();

}

return xmlHttpRequest;

}

var myXmlHttpRequest="";//定义全局变量

    function checkName(){

myXmlHttpRequest=getXmlHttpReuqest();

if(myXmlHttpRequest){

//建立连接地址

//var url="/php/response.php?username1="+$("val").value+"";

//使用post提交

var url="/php/response.php";

var data="username1="+$("val").value+"";//将数据进行封装然后发送

//打开连接

//myXmlHttpRequest.open("get",url,true);//异步

//使用post

myXmlHttpRequest.open("post",url,true);

//这个是回调函数,用于返回结果

myXmlHttpRequest.onreadystatechange=chuli;

//使用post提交需要加这段代码就可以了

myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

//正式开始发送(因为是get提交,所以可以不用带信息,信息都在地址栏上显示)

//myXmlHttpRequest.send();

//讲data发送过去

myXmlHttpRequest.send(data);

}

}

//服务器返回的结果交给了这个处理函数进行处理

function chuli(){

//alert("我是回调函数!"+myXmlHttpRequest.readyState);

if(myXmlHttpRequest.readyState==4){

alert("服务器返回的是:"+myXmlHttpRequest.responseText);

}

}

function $(id){

return document.getElementById(id);

}

 </script>

 

26:JQuery技术的注意:

append的时候,不要在<input type=submitvlaue=提交/>上面注册监听事件

否则是不会关联到我,否则插入的时候是不会插入进去的

 

 

27:获取值栈3中方法,生命相当于request域

ValueStack valueStack=ActionContext.getContext().getValueStack();

 

ValueStack valueStack2=ServletActionContext.getValueStack

(ServletActionContext.getRequest());

ValueStack valueStack3=(ValueStack)ServletActionContext.getRequest().getAttribute("struts.valueStack);

28:http协议头:

http请求消息头

1)  Accept: text/html,image/*   [告诉服务器,我可以接受文本,网页,图片]

1. Accept-Charset: ISO-8859-1 [接受字符编码 iso-8859-1]

2. Accept-Encoding: gzip,compress [可以接受 gzip,compress压缩后数据.]

3. Accept-Language: en-us,zh-cn [浏览器支持中,英文]

4. Host: www.sohu.com:80 [我要找主机是 www.sohu.com:80]

5. If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT [ 告诉服务器,我的缓冲中有这个资源文件,该文件的时间是。。。]

6. Referer: http://www.sohu.com/index.jsp  [告诉服务器,我来自哪里,该消息头,常用于防止盗链]

7. User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)[告诉服务器,浏览器内核]

8. Cookie [cookie??]//所有浏览器共享的会话技术

9. Connection: close/Keep-Alive   [保持连接,发完数据后,我不关闭连接]

10. Date: Tue, 11 Jul 2000 18:23:51 GMT [浏览器发送该http请求的时间]

http响应消息头详解

Location: http://www.baidu.org/index.jsp  【让浏览器重新定位到url

Server:apache tomcat 【告诉浏览器我是tomcat

Content-Encoding: gzip 【告诉浏览器我使用 gzip

Content-Length: 80  【告诉浏览器会送的数据大小80节】

Content-Language: zh-cn 【支持中文】

Content-Type: text/html; charset=GB2312 [内容格式text/html;编码gab2312]

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 【告诉浏览器,该资源上次更新时间】

Refresh: 1;url=http://www.baidu.com【过多久去,刷新到 http://www.baidu.com1秒钟之后跳转到baidu页面去

Content-Disposition: attachment; filename=aaa.zip【告诉浏览器,有文件下载】aaa.zip资源的名称有你自己提供资源

Transfer-Encoding: chunked  [传输的编码]

Set-Cookie:SS=Q0=5Lb_nQ; path=/search[后面详讲]

Expires: -1[告诉浏览器如何缓存页面IE-1不缓存,正数表示要缓存多久]

Cache-Control: no-cache  [告诉浏览器如何缓存页面火狐]

Pragma: no-cache   [告诉浏览器如何缓存页面]

Connection: close/Keep-Alive   [保持连接1.1Keep-Alive]

Date: Tue, 11 Jul 2000 18:23:51 GMT

29:S1SH中的一些基本的配置

*******Spring中的一些配置信息:*******

<?xml version="1.0" encoding="utf-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<!-- 测试bean -->

<bean id="testService" class="com.cn.domain.TestService">

<property name="name" value="龚为明"></property>

</bean>

<!-- 配置我们的数据源-->

<bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>

<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"></property>

<property name="username" value="scott"></property>

<property name="password" value="123456"></property>

<!-- 另外配置一下安全措施-->

<!-- 配置初始时开启多少个连接池-->

<property name="initialSize" value="3"></property>

<!-- 配置最多开启多少个连接池,一般就是500个就可以了,要更多在修改即可-->

<property name="maxActive" value="500"></property>

<!-- 配置最大空闲开启多少个连接池-->

<property name="maxIdle" value="2"></property>

<!-- 配置最小空闲开启多少个连接池,意思是,你不用的时候,会自动的销毁-->

<!-- 最好开启一个连接池-->

<property name="minIdle" value="1"></property>

</bean>

<!-- 接着配置bean工厂了-->

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="basicDataSource"></property>

<property name="mappingResources">

<list>

<!-- 这里配置spring管理的bean -->

<value>com/cn/domain/Employee.hbm.xml</value>

</list>

</property>

<property name="hibernateProperties">

<value>

<!-- 这里的值绝对不能写错哦,否则会出好多错,难以调试-->

hibernate.dialect=org.hibernate.dialect.OracleDialect

hibernate.hbm2ddl.auto=update

hibernate.show_sql=false

hibernate.format_sql=true

</value>

</property>

</bean>

 

<!-- 配置我们的EmployeeServiceImp -->

<bean id="employeeServiceInter" class="com.cn.service.imp.EmployeeServiceImp">

<!-- 获取上面的sessionFactory工厂-->

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

 

<!-- 配置事物管理的机制-->

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

 

<!-- 配置完之后还必须启动事物才会生效-->

<tx:annotation-driven transaction-manager="txManager"/>

</beans>

<!--开启的时候是使用注解的方法进行开启事物管理-->

@Transactional

 

 

<!--可以让我们的web层可以和spring有关联了-->

<!--这段代码可以在action中获取到spring实例-->

<context-param>

 <param-name>contextConfigLocation</param-name>

 <param-value>classpath:applicationContext.xml</param-value>

</context-param>

<!--对下spring容器进行实例化-->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

<!--配置二级缓存-->

<property name="hibernateProperties">

<value>

hibernate.cache.user_second_level_cache=true

hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider

hibernate.generate_statistics=true

</value>

</property>

 

30:struts2.0的基本配置如下

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<!-- 配置了之后struts2.0就不会自动的生成xhtml标签了 -->

<constant name="struts.ui.theme" value="simple"></constant>

<!-- 包名称必须是唯一得extends="struts-default" -->

<!--  

<constant name="struts.custom.i18n.resources" value="com.cn.resource.token"></constant>

-->

<package name="tokenAction" namespace="/" extends="struts-default">

<!-- 配置表单重复提交的拦截器-->

<interceptors>

<interceptor-stack name="myTokenStack">

<interceptor-ref name="defaultStack"></interceptor-ref>

<!--1:这个token拦截器不需要定义,内部提供好的

     这里可以引入token这个拦截器,进行引用

2:不过如果你吊的话,就可以自己写一个拦截器,覆盖他

 -->

<interceptor-ref name="token">

<!--

1:使用includeMethods属性对action中的

需要拦截的方法进行指定,这样才知道你要对那个

2:方法进行过滤 tokenaction中的一个方法

3<param name="includeMethods">tokenaddupdate,delete</param>

 如果有多个方法需要被拦截的话就是用都好进行拦截

4:这个也是MethodFilterInterceptor类中的属性,使用param进行赋值

-->

<param name="includeMethods">token</param>

</interceptor-ref>

</interceptor-stack>

</interceptors>

<default-interceptor-ref name="myTokenStack"/>

<action name="tokenAction_*"  class="com.cn.token.TokenAction"

method="{1}">

<!-- 结果集 -->

<!-- 这是跳转到正确的页面显示配置如下所示:-->

<result name="token" type="dispatcher">index.jsp</result>

 

<!-- 1:返回到错误页面invalid.token这个键是固定的写法

 2:这个是MethodFilterInterceptor类中的属性

-->

<result name="invalid.token" type="dispatcher">error.jsp</result>

</action>

</package>

</struts>

31:for的高级形式

for(Iterator<String> it=strList.iterator();it.hasNext();){

String str=it.next();

System.out.println(str);

}

☛这里的for循环第三个参数没有,只有第二个判断

32:Junit中的三个注解@Test @Before @After

 

33:hibernate中的注解:

@Entity

@Table(name=””,schema=””)

@Id 

@GeneratedValue(strategy = GenerationType.AUTO)

@Column(length=23,nullabel=false)

 

@Entity

@Table(name = "studentinfo", schema = "hibernatedemo")

public class Student {

 

    private Integer id;

 

    private String name;

 

    private Integer sex;

 

    private String studentno;

 

    private Date brithday;

 

    @Id

    @GeneratedValue(strategy = GenerationType.AUTO)

    public Integer getId() {

        return id;

    }

    public void setId(Integer id) {

        this.id = id;

    }

 

    @Column(length = 30, nullable = false)

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

 

    @Column(length = 10, unique = true, nullable = false)

    public String getStudentno() {

        return studentno;

    }

    public void setStudentno(String studentno) {

        this.studentno = studentno;

    }

    public Integer getSex() {

        return sex;

    }

    public void setSex(Integer sex) {

        this.sex = sex;

}

 

    @Temporal(TemporalType.DATE)

    public Date getBrithday() {

        return brithday;

    }

    public void setBrithday(Date brithday) {

        this.brithday = brithday;

    }

}

 

34:文件的各类格式

☛在tomcat中的web.xml中可以看到各类文件的格式

 <mime-mapping>

<extension>avi</extension>

<mime-type>video/x-msvideo</mime-type>

</mime-mapping>

<mime-mapping>

<extension>doc</extension>

<mime-type>application/msword</mime-type>

</mime-mapping>

35:java调用两种类型的存储过程和创建包的使用

 

 

 

36:设计八个方法方向移动技巧

1:我们可以在对象中定义四个boolean值的四个方向,up,down,left,down,然后在监听事件中通过控制键盘的值来赋值为true或者false:代码如下所示:

 

 

 

37:碰撞检测问题:当做一个矩形进行处理,这个awt提供了一个方法

intersects(new Rectangle())

 

双缓冲技术,可以将这个方法加在我们的这个Frame类中就可以了,但是利用swing的话,

会自动的解决这个问题

 

☛这里有个双缓冲技术可以解决老的awt进行解决屏幕闪烁问题

private ImageoffScreenImage=null;

public void update(Graphics g){

if(offScreenImage==null)

offScreenImage=this.createImage(Frame.WIDTH,Frame.HEIGHT);

Graphics gOff=offScreenImage.getGraphics();

paint(gOff);

g.drawImage(offScreenImage,0,0,null);

}