摘要:JNDI相对与JDBC来说是他的灵活性,程序员不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,程序员只需要对这些配置和管理进行引用即可。编辑应用服务器conf目录下的context.xml,在<Context>和</Context>之间加入以下配置:<Resource auth="Container&q
阅读全文
摘要:JNDI相对与JDBC来说是他的灵活性,程序员不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,程序员只需要对这些配置和管理进行引用即可。
阅读全文
摘要:添加用户变量或者系统变量1、变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0_042、变量名:CATALINA_HOME,变量值:D:\Tools\eclipse\apache-tomcat-6.0.333变量名:CLASSPATH,变量值:%JAVA_HOME\lib;%CATALINA_HOME%\lib;4变量名:path,变量值:%JAVA_HOME%\bin;%CATALINA_HOME%\bin;启动tomcat后,要运行打包好的war包,只需要将war包放在tomcat的webapps目录下
阅读全文
摘要:Spring提供了两个分页的类,分别是pager和pageable,下面使用这两个类完成web数据的分页及显示.假设表test中只有a、b两个属性:前台页面:<tr><th>a<th>b</th></tr><c:forEach items="${pageTest.content}" var="user"><tr><td>${user.a}</td><td>${user.b}</td></tr></c:for
阅读全文
摘要:1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为web-app。请注意,XML元素不像HTML,他们是大小写敏感的。因此,web-App和WEB-APP都是不合法的,web-app必须用小写。2 部署描述符文件内的元素次序 XML 元素不仅是大小写敏感的..
阅读全文
摘要:1) 火狐浏览器(3.6.6)和谷歌浏览器(5.0.375.86)的默认处理方式相同,每次重复访问同一url,都会向服务器重新请求,不设置缓存相当于禁用了缓存。2) IE(6.0.3790.3959)的默认处理方式(如图中的设置)则相反,每次重复访问同一url,都不会向服务器重新请求,不设置缓存相当于启用了缓存。这在我们开发web程序是,代码的通用性十分重要.比如我们在使用ajax进行异步更新页面时,不同的浏览器会出现不同的效果,因此我们需要对浏览器的缓存进行统一化,即统一设置为禁用缓存、或启用缓存。ajax在不同浏览器通用的办法是在ajax代码里面,添加属性cache,将cache设置成fa
阅读全文
摘要:多对多要有一个中间表,中间表无实体类,只在数据库中存在@ManyToMany@JoinTable(name="中间表名称",joinColumns=@joinColumn(name="本类的外键",referencedColumnName="本类与外键对应的主键"),inversejoinColumns=@JoinColumn(name="对方类的外键",referencedColunName="对方类与外键对应的主键"))/** *cascade=CascadeType.MERGE--级联更新
阅读全文
摘要:前台:$(document).ready( function() { $.ajax( { async:false, type : 'GET', data:{}, contentType : 'application/json;charset=UTF-8', url : 'testAjax', dataType : 'json', success : function(data) { if (true) { alert(data...
阅读全文