`
收藏列表
标题 标签 来源
抓取网站源码 web,jsp
public static void main(String[] args) throws Exception {

		String sCurrentLine = "";

		String sTotalString = "";

		java.io.InputStream l_urlStream;

		java.net.URL l_url = new java.net.URL("http://www.hao123.com");

		java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url
				.openConnection();

		l_connection.connect();

		l_urlStream = l_connection.getInputStream();

		java.io.BufferedReader l_reader = new java.io.BufferedReader(
				new java.io.InputStreamReader(l_urlStream, "UTF-8"));

		while ((sCurrentLine = l_reader.readLine()) != null) {
			sTotalString += sCurrentLine;
		}
		System.out.println(sTotalString);
	}
文件上传组件【jsp+Servlet】 【jsp+servlet】 Servlet实现文件上传下载
①	客户端必须以二进制形式提交数据 
a)	在form表单中添加enctype=“multipart/from-data“ 
b)	②当在表单中添加enctype,request中提交的数据形式就发生了改变,我们就不能以request.getParameter这种方式接受数据了,我们需要对request中接受的数据进行处理后才能接受 
接受客户端提交的文件的方式有两种: 
①	fileupload上传:依赖于commons包中的jar文件 
a)	将四个jar文件导入工程文件中 
//在Servlet接受页面提交的数据 
//通过传统的request接受方式,我们只能够接收到客户端提交的文本信息 
//如果客户端想服务器端提交一个文件,服务器端则无法接受提交的文件 
//	 String file=req.getParameter("myFile"); 
//	 String des=req.getParameter("des"); 
//	 System.out.println(file+"<><><>\n"+"<><><>"+des); 
try { 
//创建一个临时指定临时文件夹存放 
DiskFileItemFactory temp=new DiskFileItemFactory(1000,new File("D:/file")); 
//创建上传工具--接受客户端上传的文件 
ServletFileUpload sfu=new ServletFileUpload(temp); 
//通过上传工具对request中的数据进行处理 
//因为用户提交的所有数据都是通过request提交,那么我们可以通过上传工具取到request中的所有数据,存放到一个集合中 
List list=sfu.parseRequest(request); 
//遍历集合,取到集合中文件或者字段 
Iterator it= list.iterator(); 
while (it.hasNext()) { 
FileItem fi = (FileItem) it.next(); 
//判断每一个条目是文件还是字段 
if(fi.isFormField()){ 
//如果是一个字段,则取到字段名和字段值 
String fileName=fi.getFieldName(); 
String fileValue=fi.getString("GBK"); 
System.out.println(fileName+"<><><><"+fileValue); 
}else{ 
//如果不是字段,则表示fi是一个文件,我们需要获取文件的名字,然后把文件保存到指定的目录 
String path=fi.getName(); 
String fileName=path.substring(path.lastIndexOf("\\")+1); 
String savePath=getServletContext().getRealPath("/file/")+"/"+fileName; 
fi.write(new File(savePath)); 
} 
} 
} catch (FileUploadException e) { 
e.printStackTrace(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 
②	SmartUpload上传:依赖于一个第三方架包SmartUpload.jar包 
//创建解析工具 
SmartUpload su = new SmartUpload(); 
//通过工具对request中的数据进行初始化 
su.initialize(getServletConfig(), request, response); 
//设置上传文件是限制信息:设置允许上传的单个文件的最大值,设置允许上传文件的类型 
su.setMaxFileSize(1024*1024*10); 
su.setAllowedFilesList("jpg,jpeg,bmp,gif,png"); 
//开始接收客户端的上传 
su.upload(); 
//取到上传的所有文件(files相当于一个集合) 
Files fs = su.getFiles(); 
//取到fs中文件的个数 
for (int i = 0; i < fs.getCount(); i++) { 
File f = fs.getFile(i); 
String fName = f.getFileName(); 
//取到服务器上的files文件夹的路径 
String savePath = getServletContext().getRealPath("/file")+"/"+fName; 
f.saveAs(savePath); 
} 
//从su不能够直接取到字段,但是我们可以取到一个经过处理了的request对象 
Request req = su.getRequest(); 
String des = req.getParameter("des"); 
System.out.println(des); 

//上传成功之后跳转到列表页面,在列表页面中显示files文件夹中的所有文件 
String path = getServletContext().getRealPath("/file"); 
java.io.File dir = new java.io.File(path); 
String[] names = dir.list(); 
List<String> fileNames = new ArrayList<String>(); 
for (int i = 0; i < names.length; i++) { 
fileNames.add(names[i]); 
} 

request.setAttribute("ns", fileNames); 
request.getRequestDispatcher("list.jsp").forward(request, response); 
文件下载: 
//接受客户端需要下载的文件的文件名 
String name=request.getParameter("fname"); 
String path=getServletContext().getRealPath("/file")+"/"+name; 
InputStream is=new FileInputStream(path); 
OutputStream os=response.getOutputStream(); 
response.setContentType("application/exe.pdf"); 
response.addHeader("Content-Disposition", "attachment;filename="+name); 
byte[] b=new byte[500]; 
int len=-1; 
while((len=is.read(b))!=-1){ 
os.write(b, 0, len); 
os.flush(); 
} 
os.close(); 


------------------------------------------------------------------------------------------------------------
package com.jsp.upload.servlet;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class JspUploadServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		String method = request.getParameter("method");
		if ("upload".equals(method)) {
			upload(request, response);
		}
	}

	@SuppressWarnings("unchecked")
	public void upload(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		File tempFile = null;
		try {
			// 创建一个临时指定临时文件夹存放,函数调用完应该将临时文件删除,这样能节约空间。
			tempFile = new File("C:/file");
			if (!tempFile.exists()) {
				tempFile.mkdir();
			}
			DiskFileItemFactory temp = new DiskFileItemFactory(1000, tempFile);
			// 创建上传工具--接受客户端上传的文件
			ServletFileUpload sfu = new ServletFileUpload(temp);
			// 通过上传工具对request中的数据进行处理
			// 因为用户提交的所有数据都是通过request提交,那么我们可以通过上传工具取到request中的所有数据,存放到一个集合中
			List list = sfu.parseRequest(request);
			// 遍历集合,取到集合中文件或者字段
			Iterator it = list.iterator();
			while (it.hasNext()) {
				FileItem fi = (FileItem) it.next();
				// 判断每一个条目是文件还是字段
				if (fi.isFormField()) {
					// 如果是一个字段,则取到字段名和字段值
					String fileName = fi.getFieldName();
					String fileValue = fi.getString("GBK");
				} else {
					// 如果不是字段,则表示fi是一个文件,我们需要获取文件的名字,然后把文件保存到指定的目录
					String path = fi.getName();
					String fileName = path
							.substring(path.lastIndexOf("\\") + 1);
					String savePath = getServletContext().getRealPath("/file/");
					File file = new File(savePath);
					if (!file.exists()) {
						file.mkdirs();
					}
					savePath = file.getPath() + "/" + fileName;
					fi.write(new File(savePath));
					fi.getOutputStream().close();
				}
			}
		} catch (FileUploadException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			cycleDelFile(tempFile);
		}
	}

	/**
	 * 获取指定格式的日期。
	 * 
	 * @param date
	 * @return
	 */
	public static String dateFormat(Date date) {
		SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_hhmmss");
		String time = format.format(date);
		if (!isNull(time)) {
			return time;
		}
		return null;
	}

	/**
	 * 文件重命名。
	 * 
	 * @param filename
	 * @return
	 */
	public String renameFile(String filename) {
		String fileExtendname = "";
		if (null != filename && !"".equals(filename)) {
			Date date = new Date();
			int indexOfDot = filename.indexOf(".");
			fileExtendname = filename.substring(indexOfDot + 1);
			return dateFormat(date) + "." + fileExtendname;
		}
		return null;
	}

	/**
	 * 循环删除文件。
	 * 
	 * @param file
	 */
	public void cycleDelFile(File file) {
		if (file.isDirectory()) {
			File[] files = file.listFiles();
			for (File fl : files) {
				cycleDelFile(fl);
			}
			file.delete();
		} else {
			file.delete();
		}
	}

	public static boolean isNull(String str) {
		return "".equals(str) || null == str;
	}


}



Jar:
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-logging-1.0.4.jar
java系统中的百分数使用 java
import java.text.NumberFormat;

public class NumFormat {

	public static void main(String[] args) {
		double a=1;
		double b=3;
		System.out.println(percent(a, b));
	}
	public static String percent(double num1,double num2){//创建获取两个数的百分比芳芳
		String str = "";//创建字符串对象
		double num3 = num1 / num2;//获取两个参数的商
		NumberFormat numFormat = NumberFormat.getPercentInstance();//返回当前默认语言环境的百分比格式
		numFormat.setMinimumFractionDigits(2);//设置百分数的小数部分所允许的最小位数,如果将参数设置为负数,则使用0
		str = numFormat.format(num3);//格式规范
		return str;
	}
}
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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/laohutu"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/hutu/po/Dept.hbm.xml</value>
			</list>
		</property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	
	<!-- ֻהӔserviceޡβքbeanط˂ϱԦm -->    
 <bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">    
   <property name="proxyTargetClass" >    
		 <value>true</value>    
    </property>  
   <property name="beanNames">    
    <value>*service</value>    
   </property>    
   <property name="interceptorNames">    
    <list>  
     <value>transactionInterceptor</value>    
    </list>    
   </property>    
</bean> 


	<bean id="deptdao" class="com.hutu.dao.DeptDao">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="deptservice" class="com.hutu.service.DeptService">
		<property name="deptdao" ref="deptdao"></property>
	</bean>
	<bean id="deptaction" class="com.hutu.action.DeptAction">
		<property name="deptservice" ref="deptProxy"></property>
	</bean>
	</beans>
servlet upload
/**
	 * Servlet端处理文件输出下载
	 * 
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws Exception
	 */
	public void downloadFile(HttpServletRequest request,
			HttpServletResponse response) throws IOException {
		response.reset();// 可以加也可以不加
		response.setContentType("application/x-download");

		String fileName = "Template.xlsx";
		String fileDownloadPath = request.getSession().getServletContext()
				.getRealPath("/excel/" + fileName);
		fileName = URLEncoder.encode(fileName, "UTF-8");
		response.addHeader("Content-Disposition", "attachment;filename="
				+ fileName);

		OutputStream outp = null; // 输出流
		FileInputStream in = null; // 文件输入流
		try {
			outp = response.getOutputStream();
			in = new FileInputStream(fileDownloadPath);

			byte[] b = new byte[1024];
			int i = 0;
			while ((i = in.read(b)) > 0) {
			// 将指定字节数组中从 off 开始的 len个字节,写到当前输出流。
				outp.write(b, 0, i); 
			}
			// 刷新当前输出流,将任何缓冲输出的字节输出到此流中。
			outp.flush();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (in != null) {
				in.close();
				in = null;
			}
			if (outp != null) {
				outp.close();
				outp = null;
			}
		}
	}
EL表达式获取字符串长度 web,jsp
${fn:substring(wjcd.lrsj, 0, 16)}  
  
使用functions函数来获取list的长度  
  
${fn:length(list)}  
  
   
<c:if test="${fn:length(character) > 19 }">  
 </c:if>  
  
<%@taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core"%>  
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>  
  
   
  
函数名 函数说明 使用举例   
fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">   
fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">   
fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">   
fn:escapeXml 把一些字符转成XML表示,例如 <字符应该转为< ${fn:escapeXml(param:info)}   
fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}   
fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}   
fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}   
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}   
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}   
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">   
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}   
fn:substringAfter 获取从某个字符所在位置开始的子串 ${fn:substringAfter(zip, "-")}   
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}   
fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}   
fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}   
fn:trim 去除字符串前后的空格 ${fn.trim(name)}  
  
函数描述  
  
fn:contains(string, substring) 如果参数string中包含参数substring,返回true  
fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true  
fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true  
fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回  
fn:indexOf(string, substring) 返回参数substring在参数string中第一次出现的位置  
fn:join(array, separator) 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。  
fn:length(item) 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。  
fn:replace(string, before, after) 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果  
fn:split(string, separator) 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素  
fn:startsWith(string, prefix) 如果参数string以参数prefix开头,返回true  
fn:substring(string, begin, end) 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符  
fn:substringAfter(string, substring) 返回参数substring在参数string中后面的那一部分字符串  
fn:substringBefore(string, substring) 返回参数substring在参数string中前面的那一部分字符串  
fn:toLowerCase(string) 将参数string所有的字符变为小写,并将其返回  
fn:toUpperCase(string) 将参数string所有的字符变为大写,并将其返回  
fn:trim(string) 去除参数string 首尾的空格,并将其返回  
   
  
 二、JSP EL简介  
1、语法结构 ${expression} 2、[ ]与.运算符 EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[ ]“。例如: ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量 3、变量 EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。 因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。 假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。 属性范围在EL中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope  
  
二、JSP EL 中的有效表达式  
  有效表达式可以包含文字、操作符、变量(对象引用)和函数调用。我们将分别了解这些有效表达式中的每一种:  
  
1、文字    
JSP 表达式语言定义可在表达式中使用的以下文字:    
  
   
文字 文字的值    
Boolean  
 true 和 false  
   
Integer  
 与 Java 类似。可以包含任何正数或负数,例如 24、-45、567  
   
Floating Point  
 与 Java 类似。可以包含任何正的或负的浮点数,例如 -1.8E-45、4.567  
   
String  
 任何由单引号或双引号限定的字符串。对于单引号、双引号和反斜杠,使用反斜杠字符作为转义序列。必须注意,如果在字符串两端使用双引号,则单引号不需要转义。  
   
Null null    
  
  
2、操作符  
JSP 表达式语言提供以下操作符,其中大部分是 Java 中常用的操作符:  
  
   
术语 定义    
算术型  
 +、-(二元)、*、/、div、%、mod、-(一元)  
   
逻辑型  
 and、&&、or、||、!、not  
   
关系型  
 ==、eq、!=、ne、、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。  
   
空  
 空操作符是前缀操作,可用于确定值是否为空。  
   
条件型 A ?B :C。根据 A 赋值的结果来赋值 B 或 C。     
  
  
3、隐式对象  
JSP 表达式语言定义了一组隐式对象,其中许多对象在 JSP scriplet 和表达式中可用:  
  
术语 定义    
pageContext  
 JSP 页的上下文。它可以用于访问 JSP 隐式对象,如请求、响应、会话、输出、servletContext 等。例如,${pageContext.response} 为页面的响应对象赋值。  
   
  
  
此外,还提供几个隐式对象,允许对以下对象进行简易访问:    
  
   
术语 定义    
param  
 将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter (String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 $(param.name) 相当于 request.getParameter (name)。  
   
paramValues  
 将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues.name) 相当于 request.getParamterValues(name)。  
   
header  
 将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header.name} 相当于 request.getHeader(name)。  
   
headerValues  
 将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues.name} 相当于 request.getHeaderValues(name)。  
   
cookie 将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie.name.value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues.name} 表达式。    
initParam 将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。     
  
  
除了上述两种类型的隐式对象之外,还有些对象允许访问多种范围的变量,如 Web 上下文、会话、请求、页面:  
  
   
术语 定义    
pageScope  
 将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性。  
   
requestScope  
 将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。  
   
sessionScope  
 将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例如:  
  
$sessionScope.name}    
   
applicationScope  
 将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。  
   
  
  
三、特别强调:  
1、注意当表达式根据名称引用这些对象之一时,返回的是相应的对象而不是相应的属性。例如:即使现有的 pageContext 属性包含某些其他值,${pageContext} 也返回 PageContext 对象。    
  
2、 注意 <%@ page isELIgnored="true" %> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言  
Spring 动态配置数据源 spring
hibernate.properties:放置在src根目录下
hibernate.properties:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/laohutu
jdbc.username=root
jdbc.password=root

applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	
	<bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
       <property name="location">
           <value>classpath:hibernate.properties</value>
        </property>
     </bean>
     
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="${jdbc.driverClassName}"></property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
struts2+json=ajax web
/**
 * 通过部门编号获取部门信息
 * @param deptid
 */
public List<Emp> findEmpByByDeptID(int deptid) {
    Session session=Template.getSession();
    String hql = "select emp from Emp emp left join fetch emp.dept where           emp.dept.deptid='"+ deptid + "'";
    Query query = session.createQuery(hql);
    List<Emp> emps = query.list();
    session.close();
    return emps;
}



public String findEmpBydeptID() {
	emps=this.getEmpservice().findEmpByByDeptID(dept.getDeptid());
	JSONArray jsonarray=new JSONArray();
	jsonarray.put(emps).toString();
	return "success";
}


<package name="emp" extends="json-default">
  <action name="findemp" class="com.chinasoft.action.EmpAction" method="findEmpBydeptID">
	<result type="json">
	    <param name="excludeProperties">empservice</param>
	</result>
  </action>    	
</package>



$(function(){
    $("#dept").change(function(){
	var $dval=$(this).val();
	$.getJSON("<%=path%>/emp/findemp.action?dept.deptid="+$dval,function(data){
	   var strHTML='<select name="" id="ddd"><option value="">--请选择--</option>';
		$.each(data.emps,function(i,v){
			strHTML+='<option value="'+v.empid+'">"'+v.empname+'"</option>';
		})
		strHTML+='</select>';
		$("#emp").html(strHTML);
	})
     })
})


servlet+json=ajax 2 web
public List<Dept> getDept2() {
		List<Dept> deptList  = new ArrayList<Dept>();
		Connection conn = Template.getConnection();
		PreparedStatement prestmt = null;
		ResultSet rs = null;
		String sql = "select * from dept";
		conn = super.getConnection();
		try {
			prestmt = conn.prepareStatement(sql);
			rs = prestmt.executeQuery();
			while (rs.next()) {
				Dept dept = new Dept();
				dept.setDeptid(rs.getInt(1));
				dept.setDeptname(rs.getString(2));
				dept.setDeptdesc(rs.getString(3));
				deptList.add(dept);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return deptList;
	}




public void show2(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/json");
		List<Dept> deptList  = this.getDepttest().getDept2();
		JSONArray jsonArray = new JSONArray();
		for(int i=0;i<deptList.size();i++){
			JSONObject object = new JSONObject();
			try {
				object.put("deptid", deptList.get(i).getDeptid());
				object.put("deptname", deptList.get(i).getDeptname());
				object.put("deptdesc", deptList.get(i).getDeptdesc());
				jsonArray.put(object);
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
		response.getWriter().print(jsonArray.toString());
	}


<script type="text/javascript">
  		$(function(){
  			var html = "<table><tr><td>编号</td><td>部门名称</td><td>部门描述</td>    <td>操作</td><tr>";
  			$.getJSON("<%=path%>/servlet/DeptShowServlet.do?method=show",function(data){
  				$.each(data,function(i,v){
  					html += "<tr><td>"+v.deptid+"</td><td>"
  					+v.deptname+"</td><td>"
  					+v.deptdesc+"</td><td><a href=\"http://www.baidu.com\">删除</a></td></tr>";
  				});
  				html+="</table>";
  				$("#main").html(html);
  			})
  		})
  	</script>
servlert+json=ajax 1 web
	/**
	 * 查询数据
	 * 
	 * @return
	 */
	public String getDept() {
		Connection conn = Template.getConnection();
		PreparedStatement prestmt = null;
		ResultSet rs = null;
		JSONArray array = new JSONArray();
		String sql = "select * from dept";
		conn = super.getConnection();
		try {
			prestmt = conn.prepareStatement(sql);
			rs = prestmt.executeQuery();
			while (rs.next()) {
				JSONObject object = new JSONObject();
				object.put("deptid", rs.getString(1));
				object.put("deptname", rs.getString(2));
				object.put("deptdesc", rs.getString(3));
				array.put(object);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return array.toString();
	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	//      response.setContentType("text/json");
		String method = request.getParameter("method");
		if (method.equals("show")) {
			this.show(request, response);
		} 
	}

	public void show(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.print(this.getDepttest().getDept());
	}


  	<script type="text/javascript">
  		$(function(){
  			var html = "<table><tr><td>编号</td><td>部门名称</td><td>部门描述</td><td>操作</td><tr>";
  			$.getJSON("<%=path%>/servlet/DeptShowServlet.do?method=show",function(data){
  				$.each(data,function(i,v){
  					html += "<tr><td>"+v.deptid+"</td><td>"
  					+v.deptname+"</td><td>"
  					+v.deptdesc+"</td><td><a href=\"http://www.baidu.com\">删除</a></td></tr>";
  				});
  				html+="</table>";
  				$("#main").html(html);
  			})
  		})
  	</script>
css3圆角 css
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style type="text/css">
	table{
		text-align: center;
		border-radius:10px;
	}
	td{
		background-color: lime;
		border-radius:10px;
	}
	td:FIRST-CHILD{
		background-color: #ECF1EF;
	}
	tr:FIRST-CHILD {
		background-color: yellow;
	}
	.box{
		border-radius:10px;
		border:#000;
		height:300px;
		width:300px;
		background:#ccc;
		box-shadow:5px 5px 10px #000;
	}
	.box1{
		border-radius:10px;
		border:#000;
		height:300px;
		width:300px;
		background:white;
		box-shadow:5px 5px 10px #000;
	}
	
</style>
</head>
<body>
	<div class="box"></div>
	<table align="center" class="box1">
		<tr>
			<td>编号</td>
			<td>名称</td>
			<td>描述</td>
		</tr>
		<tr>
			<td>001</td>
			<td>张三</td>
			<td>张三</td>
		</tr>
		<tr>
			<td>002</td>
			<td>李四</td>
			<td>李四</td>
		</tr>
	</table>
</body>
</html>
网页收藏夹 收藏夹
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">Css</H3>
  <DL><p>
      <DT><A HREF="http://www.w3school.com.cn/css/css_padding.asp" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">CSS 内边距</A>
      <DT><A HREF="http://9708989.iteye.com/blog/477935" ADD_DATE="1343734910" LAST_VISIT="1346226108" LAST_MODIFIED="1346226108">Css颜色对照表 - Blue Sky - ITeye技术网站</A>
      <DT><A HREF="http://crocodile.iteye.com/blog/1096193" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">padding - - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/topic/874641" ADD_DATE="1346138706" LAST_VISIT="0" LAST_MODIFIED="0">免费ERP第三锤:界面好看,更要好用 - Java综合 - Java - ITeye论坛</A>
      <DT><A HREF="http://www.blueidea.com/articleimg/2007/03/4545/css2.html" ADD_DATE="1346151760" LAST_VISIT="1346221874" LAST_MODIFIED="1346221874">彻底弄懂CSS盒子模式(DIV布局快速入门)——作者:唐国辉 [本页为无表格排版标准网页]</A>
      <DT><A HREF="http://happmaoo.iteye.com/blog/912290" ADD_DATE="1346896269" LAST_VISIT="0" LAST_MODIFIED="0">CSS速成手册(2) - 学习软件技术,争做电脑狂人 - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">HuaWei</H3>
  <DL><p>
      <DT><A HREF="https://imailcn.huawei.com/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fimailcn.huawei.com%2fowa%2f" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">Outlook Web App</A>
      <DT><A HREF="http://10.88.32.105:8520/login.jsp?os_destination=%2Fsecure%2FIssueNavigator.jspa%3Fmode%3Dhide%26requestId%3D10237" ADD_DATE="1343734910" LAST_VISIT="1346134748" LAST_MODIFIED="1346134748">无线解决方案部 - 登录</A>
      <DT><A HREF="http://xinsheng.huawei.com/cn/forum/index.php?app=home&mod=Public&act=login" ADD_DATE="1343734910" LAST_VISIT="1345698974" LAST_MODIFIED="1345698974">登录</A>
      <DT><A HREF="http://10.71.99.98/search/" ADD_DATE="1343734910" LAST_VISIT="1346923802" LAST_MODIFIED="1346923802">研发安全版外网搜索引擎</A>
      <DT><A HREF="http://10.145.8.20:8080/chartstat?flag=chart&type=month&groupid=" ADD_DATE="1343986392" LAST_VISIT="1346134763" LAST_MODIFIED="1346134763">部门使用情况统计</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">Java工程路径</H3>
  <DL><p>
      <DT><A HREF="http://thtwin.iteye.com/blog/574254" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">JAVA类,JSP,Servlet获取工程路径 - 行知 - ITeye技术网站</A>
      <DT><A HREF="http://hello-kitty-o.iteye.com/blog/688400" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">java获取工程目录路径 - - ITeye技术网站</A>
      <DT><A HREF="http://seahb.iteye.com/blog/1090112" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">获取工程根路径方法 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">Jquery</H3>
  <DL><p>
      <DT><A HREF="http://jquery.com/" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">jquery The Write Less, Do More, JavaScript Library</A>
      <DT><A HREF="http://kb.cnblogs.com/zt/jquery/" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">博客园jQuery专题</A>
      <DT><A HREF="http://www.iteye.com/topic/1120761" ADD_DATE="1345100777" LAST_VISIT="0" LAST_MODIFIED="0">jQuery1.7.1 API手册 - JavaScript,jQuery - web - ITeye论坛</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">POI</H3>
  <DL><p>
      <DT><A HREF="http://www.iteye.com/topic/388005" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">Apache POI HSSF读写Excel总结 - Java - ITeye论坛</A>
      <DT><A HREF="http://poi.apache.org/spreadsheet/quick-guide.html" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">Busy Developers' Guide to HSSF and XSSF Features</A>
      <DT><A HREF="http://xiaomaha.iteye.com/blog/1225041" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">java poi 创建excel 兼容20032007 模拟数据库导出 解决自动调整宽度、日期格式 - - ITeye技术网站</A>
      <DT><A HREF="http://renjie120.iteye.com/blog/1100272" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">java应用集锦8使用poi进行excel操作,同时支持excel2003和2007 - 飞翔的蚂蚁 - ITeye技术网站</A>
      <DT><A HREF="http://liyiye.iteye.com/blog/239874" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">java操作Excel(Jakarta_POI) - liyiye - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/topic/1120805" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">POI 3.8 Beta5 创建大数据量 Excel文件 - Java综合 - Java - ITeye论坛</A>
      <DT><A HREF="http://zhujiang520.iteye.com/blog/1005753" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">POI中设置Excel单元格格式 - 飘在江湖的刀 - ITeye技术网站</A>
      <DT><A HREF="http://liufei-fir.iteye.com/blog/737335" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">poi学习笔记 - 刘飞 - ITeye技术网站</A>
      <DT><A HREF="http://z3sm2012.iteye.com/blog/1405228" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">POI导出excel 实例 - 小杨学Java之z3sm - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/search?type=all&query=sheet.getNumMergedRegions%28%29" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区</A>
      <DT><A HREF="http://www.iteye.com/search?type=all&query=poi%E5%AF%BC%E5%87%BA2007&sort=" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区1</A>
      <DT><A HREF="http://www.iteye.com/topic/657977" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">发一个本人写的通用Excel导入导出组件类,请高手指正! - New - ITeye论坛</A>
      <DT><A HREF="http://gaosheng08.iteye.com/blog/624758" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007 - - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/topic/624969" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007(含代码及示例) - Java综合 - Java - ITeye论坛</A>
      <DT><A HREF="http://suanfa.group.iteye.com/group/topic/14060" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">导出数据表中数据为Excel文件(Java版) - 算法~ - ITeye群组</A>
      <DT><A HREF="http://www.iteye.com/topic/647378" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">封装对excel的操作,包括本地读写excel和流中输出excel - New - ITeye论坛</A>
      <DT><A HREF="http://787141854-qq-com.iteye.com/blog/1481551" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">闲来无事写了一个利用JXL导出Excel的工具类(比较简单期待高手提供更加灵活的工具类) - 编程风魔 - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343734910">xml</H3>
  <DL><p>
      <DT><A HREF="http://blog.csdn.net/yj_woku/article/details/6564540" ADD_DATE="1343734910" LAST_VISIT="0" LAST_MODIFIED="0">Xpath使用,从 Java 程序中查询 XML - yj_woku的专栏 - 博客频道 - CSDN.NET</A>
  </DL><p>
  <DT><A HREF="http://translate.google.com/#" ADD_DATE="1343734910" LAST_VISIT="1348276928" LAST_MODIFIED="1348276928">Google 翻译#</A>
  <DT><A HREF="file:///D:/用户工具/System%20Tool.html" ADD_DATE="1343734910" LAST_VISIT="1346383443" LAST_MODIFIED="1346383443">System Tool Quick Start</A>
  <DT><H3 FOLDED ADD_DATE="1343786108">Java.util.Properties</H3>
  <DL><p>
      <DT><A HREF="http://mxdxm.iteye.com/blog/645162" ADD_DATE="1343786111" LAST_VISIT="1344330657" LAST_MODIFIED="1344330657">java中的 Properties - javaeye - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343808017">Web项目发布</H3>
  <DL><p>
      <DT><A HREF="http://miman2008.iteye.com/blog/848417" ADD_DATE="1343808019" LAST_VISIT="1343809735" LAST_MODIFIED="1343809735">tomcat中发布web项目 - 类似风华 - ITeye技术网站</A>
      <DT><A HREF="http://z-jianwen.iteye.com/blog/723417" ADD_DATE="1343808668" LAST_VISIT="1343809755" LAST_MODIFIED="1343809755">web项目的发布 - 青龙 - ITeye技术网站</A>
      <DT><A HREF="http://xieyongqiu-163-com.iteye.com/blog/686328" ADD_DATE="1343809580" LAST_VISIT="0" LAST_MODIFIED="0">tomcat 发布多个web项目 - - ITeye技术网站</A>
      <DT><A HREF="http://ganting.iteye.com/blog/472479" ADD_DATE="1343869054" LAST_VISIT="0" LAST_MODIFIED="0">在tomcat中部署web项目 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343814087">定时任务</H3>
  <DL><p>
      <DT><A HREF="http://www.iteye.com/topic/338557" ADD_DATE="1343814088" LAST_VISIT="1343898412" LAST_MODIFIED="1343898412">java定时器的使用(Scheduler ) - Spring - Java - ITeye论坛</A>
      <DT><A HREF="http://www.iteye.com/topic/1116570" ADD_DATE="1343814156" LAST_VISIT="1343899140" LAST_MODIFIED="1343899140">对chainsaw中一个简单Job Scheduler的扩展 - Java综合 - Java - ITeye论坛</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1343984614">javascript</H3>
  <DL><p>
      <DT><A HREF="http://576017120.iteye.com/blog/1336122" ADD_DATE="1343984627" LAST_VISIT="0" LAST_MODIFIED="0">js javascript 去空格 - - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/search?type=all&query=js%E5%8E%BB%E6%8E%89%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%B5%B7%E5%A7%8B%E5%92%8C%E7%BB%93%E5%B0%BE%E7%9A%84%E7%A9%BA%E6%A0%BC" ADD_DATE="1343984635" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344218384">MySQL</H3>
  <DL><p>
      <DT><A HREF="http://liuzejian4.iteye.com/blog/1617471" ADD_DATE="1344218385" LAST_VISIT="0" LAST_MODIFIED="0">SQL不重复记录 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344301142">曲线图</H3>
  <DL><p>
      <DT><A HREF="http://jimingliu.iteye.com/blog/1013343" ADD_DATE="1344301142" LAST_VISIT="1344313117" LAST_MODIFIED="1344313117">简单曲线图 - - ITeye技术网站</A>
      <DT><A HREF="http://wuxiangqian.iteye.com/blog/1288106" ADD_DATE="1344398371" LAST_VISIT="1344588425" LAST_MODIFIED="1344588425">jfreechart 折线图 - 吴湘黔 - ITeye技术网站</A>
      <DT><A HREF="http://xiaofengtoo.iteye.com/blog/1226838" ADD_DATE="1343189506" LAST_VISIT="1344404242" LAST_MODIFIED="1344404242">JFreeChart 之三:折线图实现 - 一天进步一点 - ITeye技术网站</A>
      <DT><A HREF="http://www.iteye.com/topic/316860" ADD_DATE="1344399863" LAST_VISIT="0" LAST_MODIFIED="0">jfreechart完整使用(3)- CreateChartService.java - Java - ITeye论坛</A>
      <DT><A HREF="http://www.iteye.com/topic/725190" ADD_DATE="1344408229" LAST_VISIT="0" LAST_MODIFIED="0">JfreeChart热map应用并且实现自定义样式 - Java综合 - Java - ITeye论坛</A>
      <DT><A HREF="http://juliana-only.iteye.com/blog/393266" ADD_DATE="1344409771" LAST_VISIT="0" LAST_MODIFIED="0">JfreeChart折线图 - 远去的渡口 - ITeye技术网站</A>
      <DT><H3 FOLDED ADD_DATE="1344425160">IBM源码</H3>
      <DL><p>
          <DT><A HREF="http://www.ibm.com/developerworks/cn/java/l-jfreechart/" ADD_DATE="1344425168" LAST_VISIT="0" LAST_MODIFIED="0">使用 JFreeChart 来创建基于 web 的图表</A>
      </DL><p>
      <DT><A HREF="http://suoyihen.iteye.com/blog/1372860" ADD_DATE="1344427701" LAST_VISIT="1344906355" LAST_MODIFIED="1344906355">JFreeChart_web - suoyihen - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344477272">SVN</H3>
  <DL><p>
      <DT><A HREF="http://szxsvn04-rd:6801/svn/WN_CSPT_SVN/AutoStar/AutoStarSupportVersion/trunk/Cspt_Code/AutoStarV500R006/environment/01.code/Designer/lib/" ADD_DATE="1344477277" LAST_VISIT="1347007925" LAST_MODIFIED="1347007925">WN_CSPT_SVN - Revision 26461: /AutoStar/AutoStarSupportVersion/trunk/Cspt_Code/AutoStarV500R006/environment/01.code/Designer/lib</A>
      <DT><A HREF="http://ruby8.iteye.com/blog/1163141" ADD_DATE="1346912071" LAST_VISIT="1347007890" LAST_MODIFIED="1347007890">svn 命令 - Ruby爱好者 - ITeye技术网站</A>
      <DT><A HREF="http://z466459262.iteye.com/blog/1127301" ADD_DATE="1346918685" LAST_VISIT="1347007908" LAST_MODIFIED="1347007908">svn命令 - java - ITeye技术网站</A>
      <DT><A HREF="http://beisicao.iteye.com/blog/1112843" ADD_DATE="1347007233" LAST_VISIT="1347007948" LAST_MODIFIED="1347007948">java集成svnkit - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344513916">经典心生</H3>
  <DL><p>
      <DT><A HREF="http://xinsheng.huawei.com/cn/index.php?app=forum&mod=Detail&act=index&id=474387" ADD_DATE="1344513942" LAST_VISIT="0" LAST_MODIFIED="0">史上最*最雷人的100个百度知道答案 ,试试看,你能超越吗?</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344588246">经典代码</H3>
  <DL><p>
      <DT><H3 FOLDED ADD_DATE="1344588260">javascript</H3>
      <DL><p>
          <DT><A HREF="http://ggyy899.iteye.com/blog/255251" ADD_DATE="1344588263" LAST_VISIT="0" LAST_MODIFIED="0">javascript经典代码 - 专注java,ext,css,javascript - ITeye技术网站</A>
      </DL><p>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344844004">内部类</H3>
  <DL><p>
      <DT><A HREF="http://len-len.iteye.com/blog/1445692" ADD_DATE="1344844005" LAST_VISIT="0" LAST_MODIFIED="0">内部类之局部内部类 - 蔚蓝的天空 - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1344946438">乱码处理</H3>
  <DL><p>
      <DT><A HREF="http://wsqwsq000.iteye.com/blog/1120622" ADD_DATE="1344946438" LAST_VISIT="0" LAST_MODIFIED="0">URL传参及action传参出现乱码 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345195640">mysql</H3>
  <DL><p>
      <DT><A HREF="http://jc-dreaming.iteye.com/blog/549136" ADD_DATE="1345195642" LAST_VISIT="0" LAST_MODIFIED="0">sql 提取不重复记录 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345436350">站酷</H3>
  <DL><p>
      <DT><A HREF="http://www.zcool.com.cn/" ADD_DATE="1345436351" LAST_VISIT="1348204929" LAST_MODIFIED="1348204929">站酷(ZCOOL) - 设计师互动平台 - 交流设计.分享快乐</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345522382">泛型</H3>
  <DL><p>
      <DT><A HREF="http://www.infoq.com/cn/articles/cf-java-generics" ADD_DATE="1345522384" LAST_VISIT="0" LAST_MODIFIED="0">Java深度历险(五)——Java泛型</A>
      <DT><A HREF="http://10.71.99.98/search/cache.php?q=java%B7%BA%D0%CD&url=bXl0ZXN0fGh0dHA6Ly93d3cuZmg4ODguY29tL3Nob3dmaWxlLmh0bWw%2FYXJ0aWNsZWlkPTUxMjAzNTQyRkM4OTQzQUU5RDNCOTFDN0ZBNEY1NTA3JnByb2plY3RpZD01JnVzZXJuYW1lPXlobnxteXRlc3Q%3D" ADD_DATE="1345540923" LAST_VISIT="0" LAST_MODIFIED="0">Java泛型编程快速入门 - 网页天堂</A>
      <DT><A HREF="http://10.71.99.98/search/cache.php?q=java%B7%BA%D0%CD&url=bXl0ZXN0fGh0dHA6Ly9ibG9nLmNzZG4ubmV0L2V4cGxvcmVycy9hcmNoaXZlLzIwMDUvMDgvMTUvNDU0ODM3LmFzcHh8bXl0ZXN0" ADD_DATE="1345547260" LAST_VISIT="1345597394" LAST_MODIFIED="1345597394">Java1.5泛型指南中文版(Java1.5 Generic Tutorial) - explorers的专栏 - 博客频道 - CSDN.NET</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345616117">Log4J使用详解</H3>
  <DL><p>
      <DT><A HREF="http://www.iteye.com/topic/378077" ADD_DATE="1345616118" LAST_VISIT="0" LAST_MODIFIED="0">log4j详解与实战 - 企业应用 - Java - ITeye论坛</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345689732">myeclipse性能优化</H3>
  <DL><p>
      <DT><A HREF="http://liuyun073.iteye.com/blog/1409410" ADD_DATE="1345689733" LAST_VISIT="0" LAST_MODIFIED="0">Myeclipse10下载,安装,破解,插件,优化 - - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345690735">Web</H3>
  <DL><p>
      <DT><H3 FOLDED ADD_DATE="1345690749">Jsp内置对象</H3>
      <DL><p>
          <DT><A HREF="http://www.iteye.com/topic/846916" ADD_DATE="1345690751" LAST_VISIT="0" LAST_MODIFIED="0">Session、Cookie 完全理解(转载) - Java综合 - Java - ITeye论坛</A>
      </DL><p>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1345879422">java调用批处理</H3>
  <DL><p>
      <DT><A HREF="http://leonmau.iteye.com/blog/1174000" ADD_DATE="1345879423" LAST_VISIT="0" LAST_MODIFIED="0">[转载]Java Process.exitValue & Process.waitFor() - 南七技校学徒 - ITeye技术网站</A>
      <DT><A HREF="http://hsong.iteye.com/blog/1537275" ADD_DATE="1345879435" LAST_VISIT="0" LAST_MODIFIED="0">解决process.waitFor()阻塞 - Welcome - ITeye技术网站</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1346040594">华为在线考试系统</H3>
  <DL><p>
      <DT><A HREF="http://rnd-oj/exam/login.jsp" ADD_DATE="1346040596" LAST_VISIT="1346842028" LAST_MODIFIED="1346842028">软件在线RND-OJ</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1346720237">Spring MVC</H3>
  <DL><p>
      <DT><A HREF="http://jinnianshilongnian.iteye.com/blog/1670856" ADD_DATE="1346720237" LAST_VISIT="1346923817" LAST_MODIFIED="1346923817">第五章 处理器拦截器详解——跟着开涛学SpringMVC - 私塾在线网 http://sishuok.com - ITeye技术网站</A>
      <DT><A HREF="file:///C:/Documents%20and%20Settings/rKF54892/%E6%A1%8C%E9%9D%A2/spring/spring/%E5%9F%BA%E4%BA%8E%E6%B3%A8%E8%A7%A3%E7%9A%84%20Spring%20MVC%20%E7%AE%80%E5%8D%95%E5%85%A5%E9%97%A8%20-%20%E8%AE%A8%E8%AE%BA%E5%8C%BA%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD%E7%A4%BE%E5%8C%BA.htm" ADD_DATE="1348187456" LAST_VISIT="0" LAST_MODIFIED="0">基于注解的 Spring MVC 简单入门 - 讨论区 - 开源中国社区</A>
      <DT><A HREF="file:///C:/Documents%20and%20Settings/rKF54892/%E6%A1%8C%E9%9D%A2/spring/spring/%E5%AE%9E%E4%BE%8B%E8%AF%A6%E8%A7%A3Spring%20MVC%E5%85%A5%E9%97%A8%E4%BD%BF%E7%94%A8%20-%20%E8%AE%A8%E8%AE%BA%E5%8C%BA%20-%20%E5%BC%80%E6%BA%90%E4%B8%AD%E5%9B%BD%E7%A4%BE%E5%8C%BA.htm" ADD_DATE="1348187470" LAST_VISIT="0" LAST_MODIFIED="0">实例详解Spring MVC入门使用 - 讨论区 - 开源中国社区</A>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1346721077">From IE Folder</H3>
  <DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">Css</H3>
      <DL><p>
          <DT><A HREF="http://www.w3school.com.cn/css/css_padding.asp" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">CSS 内边距</A>
          <DT><A HREF="http://9708989.iteye.com/blog/477935" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Css颜色对照表 - Blue Sky - ITeye技术网站</A>
          <DT><A HREF="http://crocodile.iteye.com/blog/1096193" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">padding - - ITeye技术网站</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">EasyLab</H3>
      <DL><p>
          <DT><A HREF="http://10.145.54.158/first.htm" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">西研实验室管理平台</A>
          <DT><A HREF="http://10.145.8.20:8080/chartstat?flag=chart&type=month&groupid=" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">部门使用情况统计</A>
      </DL><p>
      <DT><A HREF="http://translate.google.com/#" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Google 翻译#</A>
      <DT><H3 FOLDED ADD_DATE="1346721077">HuaWei</H3>
      <DL><p>
          <DT><A HREF="https://imailcn.huawei.com/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fimailcn.huawei.com%2fowa%2f" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Outlook Web App</A>
          <DT><A HREF="http://10.88.32.105:8520/login.jsp?os_destination=%2Fsecure%2FIssueNavigator.jspa%3Fmode%3Dhide%26requestId%3D10237" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">无线解决方案部 - 登录</A>
          <DT><A HREF="http://xinsheng.huawei.com/cn/forum/index.php?app=home&mod=Public&act=login" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">登录</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">Java工程路径</H3>
      <DL><p>
          <DT><A HREF="http://thtwin.iteye.com/blog/574254" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">JAVA类,JSP,Servlet获取工程路径 - 行知 - ITeye技术网站</A>
          <DT><A HREF="http://hello-kitty-o.iteye.com/blog/688400" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">java获取工程目录路径 - - ITeye技术网站</A>
          <DT><A HREF="http://seahb.iteye.com/blog/1090112" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">获取工程根路径方法 - - ITeye技术网站</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">Jquery</H3>
      <DL><p>
          <DT><A HREF="http://jquery.com/" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">jquery The Write Less, Do More, JavaScript Library</A>
          <DT><A HREF="http://kb.cnblogs.com/zt/jquery/" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">博客园jQuery专题</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">POI</H3>
      <DL><p>
          <DT><A HREF="http://www.iteye.com/topic/388005" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Apache POI HSSF读写Excel总结 - Java - ITeye论坛</A>
          <DT><A HREF="http://poi.apache.org/spreadsheet/quick-guide.html" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Busy Developers' Guide to HSSF and XSSF Features</A>
          <DT><A HREF="http://xiaomaha.iteye.com/blog/1225041" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">java poi 创建excel 兼容20032007 模拟数据库导出 解决自动调整宽度、日期格式 - - ITeye技术网站</A>
          <DT><A HREF="http://renjie120.iteye.com/blog/1100272" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">java应用集锦8使用poi进行excel操作,同时支持excel2003和2007 - 飞翔的蚂蚁 - ITeye技术网站</A>
          <DT><A HREF="http://liyiye.iteye.com/blog/239874" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">java操作Excel(Jakarta_POI) - liyiye - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/1120805" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">POI 3.8 Beta5 创建大数据量 Excel文件 - Java综合 - Java - ITeye论坛</A>
          <DT><A HREF="http://zhujiang520.iteye.com/blog/1005753" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">POI中设置Excel单元格格式 - 飘在江湖的刀 - ITeye技术网站</A>
          <DT><A HREF="http://liufei-fir.iteye.com/blog/737335" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">poi学习笔记 - 刘飞 - ITeye技术网站</A>
          <DT><A HREF="http://z3sm2012.iteye.com/blog/1405228" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">POI导出excel 实例 - 小杨学Java之z3sm - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/search?type=all&query=sheet.getNumMergedRegions%28%29" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区</A>
          <DT><A HREF="http://www.iteye.com/search?type=all&query=poi%E5%AF%BC%E5%87%BA2007&sort=" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区1</A>
          <DT><A HREF="http://www.iteye.com/topic/657977" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">发一个本人写的通用Excel导入导出组件类,请高手指正! - New - ITeye论坛</A>
          <DT><A HREF="http://gaosheng08.iteye.com/blog/624758" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007 - - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/624969" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007(含代码及示例) - Java综合 - Java - ITeye论坛</A>
          <DT><A HREF="http://suanfa.group.iteye.com/group/topic/14060" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">导出数据表中数据为Excel文件(Java版) - 算法~ - ITeye群组</A>
          <DT><A HREF="http://www.iteye.com/topic/647378" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">封装对excel的操作,包括本地读写excel和流中输出excel - New - ITeye论坛</A>
          <DT><A HREF="http://787141854-qq-com.iteye.com/blog/1481551" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">闲来无事写了一个利用JXL导出Excel的工具类(比较简单期待高手提供更加灵活的工具类) - 编程风魔 - ITeye技术网站</A>
      </DL><p>
      <DT><A HREF="file:///D:/用户工具/System%20Tool.html" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">System Tool Quick Start</A>
      <DT><H3 FOLDED ADD_DATE="1346721077">T3LINT</H3>
      <DL><p>
          <DT><A HREF="http://szxsvn04-rd:6801/svn/WN_CSPT_SVN/AutoStar/AutoStarSupportVersion/trunk/Cspt_Code/AutoStarV700R002/AutoStar_T3lint/T3Web/t3lint/" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">T3lint Svn地址</A>
          <DT><A HREF="http://localhost:8080/T3Web/pages/index.jsp" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">T3LINT</A>
          <DT><A HREF="http://10.145.11.221/T3Web/pages/index.jsp" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">T3LINTser</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">xml</H3>
      <DL><p>
          <DT><A HREF="http://blog.csdn.net/yj_woku/article/details/6564540" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">Xpath使用,从 Java 程序中查询 XML - yj_woku的专栏 - 博客频道 - CSDN.NET</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">枚举</H3>
      <DL><p>
          <DT><A HREF="http://chinakite.iteye.com/category/9778" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">chinakite的博客 - 我是一个程序员分类文章列表 - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/129693" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">J2SE新特性——枚举 - 入门技术 - New - ITeye论坛</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1346721077">课件</H3>
      <DL><p>
          <DT><H3 FOLDED ADD_DATE="1346721077">接口和抽象类</H3>
          <DL><p>
              <DT><A HREF="http://jackleechina.iteye.com/blog/1555467" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">接口和抽象类什么时候使用才合适? - - ITeye技术网站</A>
              <DT><A HREF="http://10.71.99.98/search/search.php?q=%BD%D3%BF%DA%BA%CD%B3%E9%CF%F3%C0%E0%B5%C4%CA%B9%D3%C3" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">接口和抽象类的使用_研发安全版外网搜索引擎</A>
              <DT><A HREF="http://10.71.99.98/search/cache.php?q=%BD%D3%BF%DA%BA%CD%B3%E9%CF%F3%C0%E0%B5%C4%CA%B9%D3%C3&url=bXl0ZXN0fGh0dHA6Ly9jYWNoZS5iYWlkdS5jb20vYz9tPTlkNzhkNTEzZDlkNDMxZDk0ZjliOTU2OTdkNjJjMDEwNmE0MzgxMTMyYmE3YTMwMjBlYTI4NDQ5ZTM3MzJiNDA1MDExZThhYzU2NTYwNzcwZDJkMjdkMTcxNmRlNGI0YjlkZjIyMTczNDcxNDUwYjA4Y2I5OGU1ZGRjY2I4NTU5NWM5ZjU3M2Y2NzZhODc1NjYzZDIwZGU4OGIxODJhOWI2NmQ2MThmZWFlNmFmYWE3YWE2OTg0YWVhNTgzOGMwZjA1OGQ0NDA1MGRkMWFkZDQ0NzVlNWY4ZDI0YmI1MTMyZmVmNmM3MTU0MDQyNGJmY2JhNmY3OGFiNWU3Yzc4OTkyNDRhYjc0N2ZmZWIzNTNhNTY4YmYxODk1OTRlYzI3OWQ0NjY0MDgwYWY0MmVhNzg0ZGViJnA9OGIyYTk2NDY5ZDljMTdlYjJhYmQ5YjdkMGMxYzljMjAmdXNlcj1iYWlkdSZmbT1zYyZxdWVyeT0lQkQlRDMlQkYlREElQkElQ0QlQjMlRTklQ0YlRjMlQzAlRTAlQjUlQzQlQ0ElQjklRDMlQzMmcWlkPWExZjllNmIxMDdkM2VmNjYmcDE9NyZmYXN0PXl8bXl0ZXN0" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">接口抽象类他们有什么用为什么用他们_心若止水_百度空间</A>
          </DL><p>
      </DL><p>
      <DT><A HREF="http://www.iciba.net" ADD_DATE="1346721077" LAST_VISIT="0" LAST_MODIFIED="0">金山词霸网站</A>
      <DT><H3 FOLDED ADD_DATE="1346721077">链接</H3>
      <DL><p>
      </DL><p>
  </DL><p>
  <DT><H3 FOLDED ADD_DATE="1347007737">From IE Folder</H3>
  <DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">Css</H3>
      <DL><p>
          <DT><A HREF="http://www.w3school.com.cn/css/css_padding.asp" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">CSS 内边距</A>
          <DT><A HREF="http://9708989.iteye.com/blog/477935" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Css颜色对照表 - Blue Sky - ITeye技术网站</A>
          <DT><A HREF="http://crocodile.iteye.com/blog/1096193" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">padding - - ITeye技术网站</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">EasyLab</H3>
      <DL><p>
          <DT><A HREF="http://10.145.19.198:8080/first.htm" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">服务器</A>
          <DT><A HREF="http://10.145.54.158/first.htm" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">西研实验室管理平台</A>
          <DT><A HREF="http://10.145.8.20:8080/chartstat?flag=chart&type=month&groupid=" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">部门使用情况统计</A>
      </DL><p>
      <DT><A HREF="http://translate.google.com/#" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Google 翻译#</A>
      <DT><H3 FOLDED ADD_DATE="1347007737">HuaWei</H3>
      <DL><p>
          <DT><A HREF="https://imailcn.huawei.com/owa/auth/logon.aspx?replaceCurrent=1&url=https%3a%2f%2fimailcn.huawei.com%2fowa%2f" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Outlook Web App</A>
          <DT><A HREF="http://10.88.32.105:8520/login.jsp?os_destination=%2Fsecure%2FIssueNavigator.jspa%3Fmode%3Dhide%26requestId%3D10237" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">无线解决方案部 - 登录</A>
          <DT><A HREF="http://xinsheng.huawei.com/cn/forum/index.php?app=home&mod=Public&act=login" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">登录</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">Java工程路径</H3>
      <DL><p>
          <DT><A HREF="http://thtwin.iteye.com/blog/574254" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">JAVA类,JSP,Servlet获取工程路径 - 行知 - ITeye技术网站</A>
          <DT><A HREF="http://hello-kitty-o.iteye.com/blog/688400" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">java获取工程目录路径 - - ITeye技术网站</A>
          <DT><A HREF="http://seahb.iteye.com/blog/1090112" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">获取工程根路径方法 - - ITeye技术网站</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">Jquery</H3>
      <DL><p>
          <DT><A HREF="http://jquery.com/" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">jquery The Write Less, Do More, JavaScript Library</A>
          <DT><A HREF="http://kb.cnblogs.com/zt/jquery/" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">博客园jQuery专题</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">POI</H3>
      <DL><p>
          <DT><A HREF="http://www.iteye.com/topic/388005" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Apache POI HSSF读写Excel总结 - Java - ITeye论坛</A>
          <DT><A HREF="http://poi.apache.org/spreadsheet/quick-guide.html" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Busy Developers' Guide to HSSF and XSSF Features</A>
          <DT><A HREF="http://xiaomaha.iteye.com/blog/1225041" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">java poi 创建excel 兼容20032007 模拟数据库导出 解决自动调整宽度、日期格式 - - ITeye技术网站</A>
          <DT><A HREF="http://renjie120.iteye.com/blog/1100272" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">java应用集锦8使用poi进行excel操作,同时支持excel2003和2007 - 飞翔的蚂蚁 - ITeye技术网站</A>
          <DT><A HREF="http://liyiye.iteye.com/blog/239874" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">java操作Excel(Jakarta_POI) - liyiye - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/1120805" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">POI 3.8 Beta5 创建大数据量 Excel文件 - Java综合 - Java - ITeye论坛</A>
          <DT><A HREF="http://zhujiang520.iteye.com/blog/1005753" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">POI中设置Excel单元格格式 - 飘在江湖的刀 - ITeye技术网站</A>
          <DT><A HREF="http://liufei-fir.iteye.com/blog/737335" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">poi学习笔记 - 刘飞 - ITeye技术网站</A>
          <DT><A HREF="http://z3sm2012.iteye.com/blog/1405228" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">POI导出excel 实例 - 小杨学Java之z3sm - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/search?type=all&query=sheet.getNumMergedRegions%28%29" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区</A>
          <DT><A HREF="http://www.iteye.com/search?type=all&query=poi%E5%AF%BC%E5%87%BA2007&sort=" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">全站搜索 - ITeye - Java编程 Hibernate Spring AJAX Agile 敏捷软件开发 ruby on rails - 做最棒的软件开发交流社区1</A>
          <DT><A HREF="http://www.iteye.com/topic/657977" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">发一个本人写的通用Excel导入导出组件类,请高手指正! - New - ITeye论坛</A>
          <DT><A HREF="http://gaosheng08.iteye.com/blog/624758" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007 - - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/624969" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">大数据量的excel文件读取——excel2007(含代码及示例) - Java综合 - Java - ITeye论坛</A>
          <DT><A HREF="http://suanfa.group.iteye.com/group/topic/14060" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">导出数据表中数据为Excel文件(Java版) - 算法~ - ITeye群组</A>
          <DT><A HREF="http://www.iteye.com/topic/647378" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">封装对excel的操作,包括本地读写excel和流中输出excel - New - ITeye论坛</A>
          <DT><A HREF="http://787141854-qq-com.iteye.com/blog/1481551" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">闲来无事写了一个利用JXL导出Excel的工具类(比较简单期待高手提供更加灵活的工具类) - 编程风魔 - ITeye技术网站</A>
      </DL><p>
      <DT><A HREF="file:///D:/用户工具/System%20Tool.html" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">System Tool Quick Start</A>
      <DT><H3 FOLDED ADD_DATE="1347007737">T3LINT</H3>
      <DL><p>
          <DT><A HREF="http://szxsvn04-rd:6801/svn/WN_CSPT_SVN/AutoStar/AutoStarSupportVersion/trunk/Cspt_Code/AutoStarV700R002/AutoStar_T3lint/T3Web/t3lint/" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">T3lint Svn地址</A>
          <DT><A HREF="http://localhost:8080/T3Web/pages/index.jsp" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">T3LINT</A>
          <DT><A HREF="http://10.145.11.221/T3Web/pages/index.jsp" ADD_DATE="1347007737" LAST_VISIT="1347008078" LAST_MODIFIED="1347008078">T3LINTser</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">xml</H3>
      <DL><p>
          <DT><A HREF="http://blog.csdn.net/yj_woku/article/details/6564540" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">Xpath使用,从 Java 程序中查询 XML - yj_woku的专栏 - 博客频道 - CSDN.NET</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">枚举</H3>
      <DL><p>
          <DT><A HREF="http://chinakite.iteye.com/category/9778" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">chinakite的博客 - 我是一个程序员分类文章列表 - ITeye技术网站</A>
          <DT><A HREF="http://www.iteye.com/topic/129693" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">J2SE新特性——枚举 - 入门技术 - New - ITeye论坛</A>
      </DL><p>
      <DT><H3 FOLDED ADD_DATE="1347007737">课件</H3>
      <DL><p>
          <DT><H3 FOLDED ADD_DATE="1347007737">接口和抽象类</H3>
          <DL><p>
              <DT><A HREF="http://jackleechina.iteye.com/blog/1555467" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">接口和抽象类什么时候使用才合适? - - ITeye技术网站</A>
              <DT><A HREF="http://10.71.99.98/search/search.php?q=%BD%D3%BF%DA%BA%CD%B3%E9%CF%F3%C0%E0%B5%C4%CA%B9%D3%C3" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">接口和抽象类的使用_研发安全版外网搜索引擎</A>
              <DT><A HREF="http://10.71.99.98/search/cache.php?q=%BD%D3%BF%DA%BA%CD%B3%E9%CF%F3%C0%E0%B5%C4%CA%B9%D3%C3&url=bXl0ZXN0fGh0dHA6Ly9jYWNoZS5iYWlkdS5jb20vYz9tPTlkNzhkNTEzZDlkNDMxZDk0ZjliOTU2OTdkNjJjMDEwNmE0MzgxMTMyYmE3YTMwMjBlYTI4NDQ5ZTM3MzJiNDA1MDExZThhYzU2NTYwNzcwZDJkMjdkMTcxNmRlNGI0YjlkZjIyMTczNDcxNDUwYjA4Y2I5OGU1ZGRjY2I4NTU5NWM5ZjU3M2Y2NzZhODc1NjYzZDIwZGU4OGIxODJhOWI2NmQ2MThmZWFlNmFmYWE3YWE2OTg0YWVhNTgzOGMwZjA1OGQ0NDA1MGRkMWFkZDQ0NzVlNWY4ZDI0YmI1MTMyZmVmNmM3MTU0MDQyNGJmY2JhNmY3OGFiNWU3Yzc4OTkyNDRhYjc0N2ZmZWIzNTNhNTY4YmYxODk1OTRlYzI3OWQ0NjY0MDgwYWY0MmVhNzg0ZGViJnA9OGIyYTk2NDY5ZDljMTdlYjJhYmQ5YjdkMGMxYzljMjAmdXNlcj1iYWlkdSZmbT1zYyZxdWVyeT0lQkQlRDMlQkYlREElQkElQ0QlQjMlRTklQ0YlRjMlQzAlRTAlQjUlQzQlQ0ElQjklRDMlQzMmcWlkPWExZjllNmIxMDdkM2VmNjYmcDE9NyZmYXN0PXl8bXl0ZXN0" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">接口抽象类他们有什么用为什么用他们_心若止水_百度空间</A>
          </DL><p>
      </DL><p>
      <DT><A HREF="http://www.iciba.net" ADD_DATE="1347007737" LAST_VISIT="0" LAST_MODIFIED="0">金山词霸网站</A>
      <DT><H3 FOLDED ADD_DATE="1347007737">链接</H3>
      <DL><p>
      </DL><p>
  </DL><p>
  <DT><A HREF="http://10.141.16.201/cau" ADD_DATE="1347239194" LAST_VISIT="1348204893" LAST_MODIFIED="1348204893">网管安装系统</A>
  <DT><A HREF="http://daoshud1.iteye.com/blog/1006413" ADD_DATE="1347262676" LAST_VISIT="0" LAST_MODIFIED="0">java下载远程服务器文件 - - ITeye技术网站</A>
  <DT><A HREF="http://10.145.8.20:8080/nelist.jsp" ADD_DATE="1347327142" LAST_VISIT="0" LAST_MODIFIED="0">师日香网元</A>
  <DT><A HREF="http://xlaohe1.iteye.com/blog/1623385" ADD_DATE="1347509104" LAST_VISIT="0" LAST_MODIFIED="0">EL 获取字符串长度等 - 终于改了这名称 - ITeye技术网站</A>
  <DT><A HREF="http://kdlqbz.iteye.com/blog/400344" ADD_DATE="1347509112" LAST_VISIT="0" LAST_MODIFIED="0">jstl 获取字符串长度 字符串操作 - 成功是属于有准备的人 - ITeye技术网站</A>
  <DT><A HREF="http://zmx.iteye.com/blog/371011" ADD_DATE="1347612452" LAST_VISIT="0" LAST_MODIFIED="0">ResultSetMetaData的使用 - 我的IT技术杂谈 - ITeye技术网站</A>
  <DT><A HREF="http://luyao123127.iteye.com/blog/678765" ADD_DATE="1348036435" LAST_VISIT="1348455225" LAST_MODIFIED="1348455225">java.sql.Types的具体对应值 - 雄关漫道真如铁,而今迈步从头越 - ITeye技术网站</A>
</DL><p>
struts2标签前台截取字符串长度 struts2
<s:iterator value="forums" id="for">
				<tr>
					<td align="center">
						${title }
					</td>
					<s:set name="str" value="#for.content">
						<td align="center">
							<s:if test="%{#str.length()>20}">
								<s:property value="#str.substring(0,21)+'...'" />
							</s:if>
							<s:else>
								<s:property value="str" />
							</s:else>
						</td>
					</s:set>
					<td align="center">
						${createtime }
					</td>
					<td align="center">
						${type }
					</td>
					<td align="center">
						<a href="./forum/deleteforum.action?forum.id=${id }"
							style="text-decoration: none">删除</a>
					</td>
				</tr>
			</s:iterator>
Spring配置文件2 web
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/laohutu"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/hutu/po/Dept.hbm.xml</value></list>
		</property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="deptProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="target" ref="deptservice"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	<bean id="deptdao" class="com.hutu.dao.DeptDao">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="deptservice" class="com.hutu.service.DeptService">
		<property name="deptdao" ref="deptdao"></property>
	</bean>
	<bean id="deptaction" class="com.hutu.action.DeptAction">
		<property name="deptservice" ref="deptProxy"></property>
	</bean>
	</beans>
Spring配置文件1 web
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/laohutu"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
			<value>com/huawei/spring/po/Dept.hbm.xml</value></list>
		</property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="saveOrUpdate*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	
 <bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">    
   <property name="proxyTargetClass" >    
		 <value>true</value>    
    </property>  
   <property name="beanNames">    
    <value>*Service</value>    
   </property>    
   <property name="interceptorNames">    
    <list>  
     <value>transactionInterceptor</value>    
    </list>    
   </property>    
</bean> 

 <bean id="DeptDAO" class="com.huawei.spring.dao.DeptDAO">
 	<property name="sessionFactory">
 		<ref bean="sessionFactory" />
 	</property>
 </bean>
 <bean id="DeptService" class="com.huawei.spring.service.DeptService">
 	<property name="deptdao" ref="DeptDAO"></property>
 </bean>
<bean id="DeptServlet" class="com.huawei.spring.servlet.DeptServlet">
	<property name="deptservice" ref="DeptService"></property>
</bean>
 </beans>
c标签新应用 jsp
<c:forEach items="${messages}"
var="item"
begin="0"
end="9"
step="1"
varStatus="var">
……
</c:forEach>
上面这段代码的意思是针对messages 对象进行循环,循环中的每个循环项的引用变量为
item,循环范围是从0到9,每次步长为1。而varStatus则定义了一个循环状态变量var,
循环状态变量中保存了循环进行时的状态信息,包括以下几个属性:
属性 类型 说明
index int 当前循环索引号
count int 成员总数
first boolean 当前成员是否首位成员
last boolean 当前成员是否末尾成员
再看:
<c:if test="${var.index % 2 == 0}">
*
</c:if>
css3制作表格圆角 css
CSS3美化表格

大漠
2011-10-10
点击:1854
 
css3
table
19
Vote up!
在Web页面开发中,自从有了<div>的出现,大家就在讨论table。就出现了什么时候?如何使用div,什么时候?如何使用table的争论。虽然争论不少,但最后得出的结论是一致的:当你需要在页面中处理与数据时,table是首选之一。

制作一个表格容易,但是要设计一个表,让它爽心悦目,对于前端攻城师来说可是一个挑战——我们不仅需要考虑表格的外观好看,而且要提高用户的体验,让用户方便阅读表格,方便从表格中找到自己需要的数据。这样就需要你开动大脑进行思考,如果你和我一样不想去思考的话,可以参考Red Team的Red介绍的CSS3制作表格的教程——《Feature table design with CSS3》

当然你会说,CSS3是强大,但在老式的浏览器中怎么办?我只能说让你的用户在现代浏览器中体验最好的视觉效果,让那些守旧的用户去体验陈旧的美感。说了这么多,今天我们依旧跟着Red来学习——如何使用CSS3创建一个美丽而又爽心悦目的表格。这里我们还使用了jQuery让表格在老式的浏览器下也能运行正常。首先我们一起看一下我们今天要实现的表格效果:



目标
在这篇文章中,你将会看到如何使用CSS3来制作一些很酷而体验又强的表格。

没有图片的圆角效果
易于更新——没有多余的样式
用户体验性强,容易查找数据
HTML Markup
在介绍如何使用CSS3来修饰table之前,我们需要一个table的框架子,下面我们来创建一个普通的table

			<table class="bordered">
			  <thead>
			    <tr>
			        <th>#</th>        
			        <th>IMDB Top 10 Movies</th>
			        <th>Year</th>
			    </tr>
			  </thead>
			  <tbody>
					<tr>
			      <td>1</td>        
			      <td>The Shawshank Redemption</td>
			       <td>1994</td>
			    </tr>        
			    <tr>
			        <td>2</td>         
			        <td>The Godfather</td>
			        <td>1972</td>
			    </tr>
			    <tr>
			        <td>3</td>         
			        <td>The Godfather: Part II</td>
			        <td>1974</td>
			    </tr>    
			    <tr>
			        <td>4</td> 
			        <td>The Good, the Bad and the Ugly</td>
			        <td>1966</td>
			    </tr>		    
				</tbody>
			</table>
		
在这里我们将这个表格设置了一个类名“bordered”,如果你需要创建一个斑马线表格,你只需将上面的类名换成“zebra”。现在有了HTML结构,接着就是使用样式来美化他了,大家一起接着往下看吧。

CSS Code
			<style type="text/css">
			*{margin: 0;padding: 0;}
			body {
				padding: 40px 100px;
			}
			.demo {
			width: 600px;
			margin: 40px auto;
			font-family: 'trebuchet MS', 'Lucida sans', Arial;
			font-size: 14px;
			color: #444;
			}

			table {
				*border-collapse: collapse; /* IE7 and lower */
				border-spacing: 0;
				width: 100%;
			}
			/*========bordered table========*/
			.bordered {
				border: solid #ccc 1px;
				-moz-border-radius: 6px;
				-webkit-border-radius: 6px;
				border-radius: 6px;
				-webkit-box-shadow: 0 1px 1px #ccc;
				-moz-box-shadow: 0 1px 1px #ccc;
				box-shadow: 0 1px 1px #ccc;
			}

			.bordered tr {
				-o-transition: all 0.1s ease-in-out;
				-webkit-transition: all 0.1s ease-in-out;
				-moz-transition: all 0.1s ease-in-out;
				-ms-transition: all 0.1s ease-in-out;
				transition: all 0.1s ease-in-out;		
			}
			.bordered .highlight,
			.bordered tr:hover {
				background: #fbf8e9;		
			}
			.bordered td, 
			.bordered th {
				border-left: 1px solid #ccc;
				border-top: 1px solid #ccc;
				padding: 10px;
				text-align: left;
			}
			.bordered th {
				background-color: #dce9f9;
				background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
				background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -moz-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -ms-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -o-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: linear-gradient(top, #ebf3fc, #dce9f9);
				filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#ebf3fc, endColorstr=#dce9f9);
				-ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#ebf3fc, endColorstr=#dce9f9)";
				-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
				-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
				box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
				border-top: none;
				text-shadow: 0 1px 0 rgba(255,255,255,.5);
			}
			.bordered td:first-child, 
			.bordered th:first-child {
				border-left: none;
			}
			.bordered th:first-child {
				-moz-border-radius: 6px 0 0 0;
				-webkit-border-radius: 6px 0 0 0;
				border-radius: 6px 0 0 0;
			}
			.bordered th:last-child {
				-moz-border-radius: 0 6px 0 0;
				-webkit-border-radius: 0 6px 0 0;
				border-radius: 0 6px 0 0;
			}
			.bordered tr:last-child td:first-child {
				-moz-border-radius: 0 0 0 6px;
				-webkit-border-radius: 0 0 0 6px;
				border-radius: 0 0 0 6px;
			}
			.bordered tr:last-child td:last-child {
				-moz-border-radius: 0 0 6px 0;
				-webkit-border-radius: 0 0 6px 0;
				border-radius: 0 0 6px 0;
			}
			/*----------------------*/
			.zebra td, 
			.zebra th {
				padding: 10px;
				border-bottom: 1px solid #f2f2f2;
			}
			.zebra .alternate,
			.zebra tbody tr:nth-child(even) {
				background: #f5f5f5;
				-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
				-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
				box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
			}
			.zebra th {
				text-align: left;
				text-shadow: 0 1px 0 rgba(255,255,255,.5);
				border-bottom: 1px solid #ccc;
				background-color: #eee;
				background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eee));
				background-image: -webkit-linear-gradient(top, #f5f5f5, #eee);
				background-image: -moz-linear-gradient(top, #f5f5f5, #eee);
				background-image: -ms-linear-gradient(top, #f5f5f5, #eee);
				background-image: -o-linear-gradient(top, #f5f5f5, #eee);
				background-image: linear-gradient(top, #f5f5f5, #eee);
				filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#f5f5f5, endColorstr=#eeeeee);
				-ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#f5f5f5, endColorstr=#eeeeee)";
			}
			.zebra th:first-child {
				-moz-border-radius: 6px 0 0 0;
				-webkit-border-radius: 6px 0 0 0;
				border-radius: 6px 0 0 0;
			}
			.zebra th:last-child {
				-moz-border-radius: 0 6px 0 0;
				-webkit-border-radius: 0 6px 0 0;
				border-radius: 0 6px 0 0;
			}
			.zebra tfoot td {
				border-bottom: 0;
				border-top: 1px solid #fff;
				background-color: #f1f1f1;
			}
			.zebra tfoot td:first-child {
				-moz-border-radius: 0 0 0 6px;
				-webkit-border-radius: 0 0 0 6px;
				border-radius: 0 0 0 6px;
			}
			.zebra tfoot td:last-child {
				-moz-border-radius: 0 0 6px 0;
				-webkit-border-radius: 0 0 6px 0;
				border-radius: 0 0 6px 0;
			}
			</style>
		
通过上面的代码,我们在现代浏览器中就能看到一个美化好的表格了,如DEMO所示。

效果出来了,但我们追求的不只是效果,需要知道是怎么一回事,这样才能是自己的东西。下面我们就来细化一下上面的代码:

1、表格圆角效果

这里有一个技巧,在制作表格圆角效果之前,我们有必要先完成这一步。表格的“border-collapse”的默认值是“separate”,我们需要将其值设置为“0”,也就是“border-spacing:0;”

			table {
			  *border-collapse: collapse; /* IE7 and lower */
			  border-spacing: 0;
			}
		
为了能兼容IE7以及更低的浏览器我们需要加上一个特殊的属性“border-collapse”,并且将其值设置为“collapse”。

现在我们一起来看圆角的制作

			/*==整个表格设置了边框,并设置了圆角==*/
			.bordered {
				border: solid #ccc 1px;
				-moz-border-radius: 6px;
				-webkit-border-radius: 6px;
				border-radius: 6px;
			}
			/*==表格头部第一个th需要设置一个左上角圆角==*/
			.bordered th:first-child {
				-moz-border-radius: 6px 0 0 0;
				-webkit-border-radius: 6px 0 0 0;
				border-radius: 6px 0 0 0;
			}
			/*==表格头部最后一个th需要设置一个右上角圆角==*/
			.bordered th:last-child {
				-moz-border-radius: 0 6px 0 0;
				-webkit-border-radius: 0 6px 0 0;
				border-radius: 0 6px 0 0;
			}
			/*==表格最后一行的第一个td需要设置一个左下角圆角==*/
			.bordered tr:last-child td:first-child {
				-moz-border-radius: 0 0 0 6px;
				-webkit-border-radius: 0 0 0 6px;
				border-radius: 0 0 0 6px;
			}
			/*==表格最后一行的最后一个td需要设置一个右下角圆角==*/
			.bordered tr:last-child td:last-child {
				-moz-border-radius: 0 0 6px 0;
				-webkit-border-radius: 0 0 6px 0;
				border-radius: 0 0 6px 0;
			}
		
由于我们在table中设置了一个边框,为了俱有圆角效果,我需要在表格的四个角的单元格上分别设置圆角效果,并且其圆角效果需要和表格的圆角值大小一样,反之,如果你在table上没有设置边框,我们只需要在表格的四个角落的单元素设置圆角,就能实现圆角效果,比如DEMO中的“zebra”表格

			/*==表格头部第一个th需要设置一个左上角圆角==*/
			.zebra th:first-child {
				-moz-border-radius: 6px 0 0 0;
				-webkit-border-radius: 6px 0 0 0;
				border-radius: 6px 0 0 0;
			}
			/*==表格头部最后一个th需要设置一个右上角圆角==*/
			.zebra th:last-child {
				-moz-border-radius: 0 6px 0 0;
				-webkit-border-radius: 0 6px 0 0;
				border-radius: 0 6px 0 0;
			}
			/*==表格最后一行的第一个td需要设置一个左下角圆角==*/
			.zebra tfoot td:first-child {
				-moz-border-radius: 0 0 0 6px;
				-webkit-border-radius: 0 0 0 6px;
				border-radius: 0 0 0 6px;
			}
			/*==表格最后一行的最后一个td需要设置一个右下角圆角==*/
			.zebra tfoot td:last-child {
				-moz-border-radius: 0 0 6px 0;
				-webkit-border-radius: 0 0 6px 0;
				border-radius: 0 0 6px 0;
			}
		
在上面的代码中,我们使用了许多CSS3的伪类选择器,如果你对这一部分还不怎么熟悉,我建议你阅读本站的相关教程:

《CSS3选择器——基本选择器》
《CSS3选择器——属性选择器》
《CSS3选择器——伪类选择器》
除了选择器使用了CSS3外,上面还采用了好多个CSS3的相关属性,比如说

A、box-shadow制作表格的阴影

			.bordered {
				-webkit-box-shadow: 0 1px 1px #ccc;
				-moz-box-shadow: 0 1px 1px #ccc;
				box-shadow: 0 1px 1px #ccc;
			}
			.zebra tbody tr:nth-child(even) {
				-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
				-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
				box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
			}
		
B、transition制作hover过渡效果

			.bordered tr {
				-o-transition: all 0.1s ease-in-out;
				-webkit-transition: all 0.1s ease-in-out;
				-moz-transition: all 0.1s ease-in-out;
				-ms-transition: all 0.1s ease-in-out;
				transition: all 0.1s ease-in-out;		
			}
			.bordered tr:hover {
				background: #fbf8e9;		
			}
		
C、gradient制作表头渐变色

			.bordered th {
				background-color: #dce9f9;
				background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
				background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -moz-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -ms-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: -o-linear-gradient(top, #ebf3fc, #dce9f9);
				background-image: linear-gradient(top, #ebf3fc, #dce9f9);
				filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#ebf3fc, endColorstr=#dce9f9);
				-ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#ebf3fc, endColorstr=#dce9f9)";
			}
			.zebra th {				
				background-color: #eee;
				background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eee));
				background-image: -webkit-linear-gradient(top, #f5f5f5, #eee);
				background-image: -moz-linear-gradient(top, #f5f5f5, #eee);
				background-image: -ms-linear-gradient(top, #f5f5f5, #eee);
				background-image: -o-linear-gradient(top, #f5f5f5, #eee);
				background-image: linear-gradient(top, #f5f5f5, #eee);
				filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#f5f5f5, endColorstr=#eeeeee);
				-ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#f5f5f5, endColorstr=#eeeeee)";
			}
		
其中还使用了text-shadow来制作文字阴影效果,rgba改变颜色透明度等。

2、jQuery处理hover效果

大家从所周知,在IE6下“:hover”只有a元素支持,如果需要在IE6支持下面的效果:

			.bordered tr:hover {
				background: #fbf8e9;		
			}
		
如果需要在IE6下解决上面的CSS样式效果,我们就需要借助jQuery来模拟“:hover”效果:

			$('.bordered tr').mouseover(function(){
			    $(this).addClass('highlight');
			}).mouseout(function(){
			    $(this).removeClass('highlight');
			});
		
同时需要在你的样式中加入“.highlight”样式代码:

			.highlight {
				background: #fbf8e9;		
			}
		
这样一来我们也在IE6下实现了“.bordered tr:hover”悬停效果。有关于“:hover”在IE6下的处理方法,大家感兴趣的会还可以点击《浏览器兼容之旅的第四站:IE常见Bug——part2》。这里还存在一个问题,由于“:hover”只是在IE6下不能运用在别的元素上,但在其他浏览器上是不会出现这样的Bug,可是我们就这样运用上面的jQuery代码的话,将在所有浏览器中都会运行,这样就离我们最初的想法有点不同,为了只让IE6解析上面的代码,我们就需要把这段代码加上一个条件,让它只能在IE6下识别。具体操作大家可以点击Red的《How to solve common IE bugs》一文,同时也你可以到本站阅读前面的教程——《浏览器兼容之旅的第一站:如何创建条件样式》。

3、jQuery实现斑马线表格效果

这里有一个问题同样会发生在IE6中,那就是CSS3的选择器——“:nth-child(even)”,在IE6中也是沅法识别的,这样就造成了下面这段代码在IE6下是没有任何效果的

			.zebra tbody tr:nth-child(even) {
				background: #f5f5f5;
				-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
				-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
				box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
			}
		
为了能让所有浏览器解决表格偶数行高亮,就需要使用jQuery来实现

			$(".zebra tr:even").addClass('alternate');
		
同样需要在你的样式文字中加入:

			.alternate {
			    background: #f5f5f5;
			    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
			    -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
			    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
			}
		
这样一来,我们也借助jQuery解决了IE6下的斑马线效果,当然也需要记得前提条件中,不然在部分浏览器中就重复使用了。

兼容的浏览器
如果在你的代码中运用了上面的jQuery代码话,在IE6下也将会有不错的效果,只别表格在IE6-8下的外观将丢失圆角,阴影等效果,如图所示:



加上我们这里在讨论的是使用 CSS3来美化表格,所以我们不需要考虑IE下太我的问题,因此你要是现在还在使用那该死的IE话,我强烈建议你马上安装:Mozilla Firefox、Google Chrome、Safari或者Opera等现代浏览器,你将能在这些浏览器中看到一个很美很酷的表格。

总结
在这个教程中我们学习了如何使用CSS3来美化你的表格。在结束之前稍作规纳:“在本次教程中,我们主要使用了CSS3的相关属性来美化一个表格,主要涉及到了CSS3的选择器,比如说CSS3选择器——伪类选择器,用来控制选中的单元格;而且在制作效果中,使用了CSS3的一些常用属性,border-radius来表格的圆角或单元格的圆角效果、gradient来制作表格标题的背景效果、box-shadow制作了表格的阴影效果以使用transition来实现动画效果,而且还使用了text-shadow制作文字阴影,rgba改元素元素相关属性的透明度。最后为了让IE6下具有相同的“:hover”和“斑马线”效果,我们还借助了jQuery和IE的条件注解来实现效果。”
js排序 javascript
<script type="text/javascript">
			//函数sorter接受两个参数,返回一个数值,如果这个值大于0,则说明第一个参数大于第二个参数,
			//如果返回值为0,说明两个参数相等,返回值小于0,则第一个参数小于第二个参数,sort根据这
			//个返回值来进行最终的排序:
			function sorter(a, b){
				return a - b;
			}
			var array = [10, 23, 44, 58, 106, 235];
			//系统默认,这个可以对字母进行排序,如果只是数据就,建议用自定排序
			array.sort(sorter);
			for(var i=0;i<array.length;i++){
				alert(array[i]);
			}
			array.sort(function(a,b){return a-b;});//正序
			for(var i=0;i<array.length;i++){
				alert(array[i]);
			}
			array.sort(function(a,b){return b-a;});//反序
			for(var i=0;i<array.length;i++){
				alert(array[i]);
			}
		</script>
xml多中解析方式
package com.chinasoft.parsexml;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;

public class W3CParseXml {

 public static void main(String[] args) {
  read();
 }

 private static void read() {
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  try {
   DocumentBuilder builder = dbf.newDocumentBuilder();
   InputStream in = W3CParseXml.class.getClassLoader()
     .getResourceAsStream("test.xml");
   Document doc = builder.parse(in);
   // root <university>
   Element root = doc.getDocumentElement();
   if (root == null) {
    return;
   }
   System.err.println(root.getAttribute("name"));
   // all college node
   NodeList collegeNodes = root.getChildNodes();
   if (collegeNodes == null)
    return;
   for (int i = 0; i < collegeNodes.getLength(); i++) {
    Node college = collegeNodes.item(i);
    if (college != null
      && college.getNodeType() == Node.ELEMENT_NODE) {
     System.err.println("\t"
       + college.getAttributes().getNamedItem("name")
         .getNodeValue());
     // all class node
     NodeList classNodes = college.getChildNodes();
     if (classNodes == null)
      continue;
     for (int j = 0; j < classNodes.getLength(); j++) {
      Node clazz = classNodes.item(j);
      if (clazz != null
        && clazz.getNodeType() == Node.ELEMENT_NODE) {
       System.err.println("\t\t"
         + clazz.getAttributes()
           .getNamedItem("name")
           .getNodeValue());
       // all student node
       NodeList studentNodes = clazz.getChildNodes();
       if (studentNodes == null)
        continue;
       for (int k = 0; k < studentNodes.getLength(); k++) {
        Node student = studentNodes.item(k);
        if (student != null
          && student.getNodeType() == Node.ELEMENT_NODE) {
         System.err.print("\t\t\t"
           + student.getAttributes()
             .getNamedItem("name")
             .getNodeValue());
         System.err.print(" "
           + student.getAttributes()
             .getNamedItem("sex")
             .getNodeValue());
         System.err.println(" "
           + student.getAttributes()
             .getNamedItem("age")
             .getNodeValue());
        }
       }
      }
     }
    }
   }
  } catch (ParserConfigurationException e) {
   e.printStackTrace();
  } catch (SAXException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 public void wrire() {
  try {
   DocumentBuilderFactory factory = DocumentBuilderFactory
     .newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   InputStream is = W3CParseXml.class.getResourceAsStream("test.xml");
   Document document = builder.parse(is);
   // root (university)
   Element root = document.getDocumentElement();
   if (root == null) {
    return;
   }
   // 修改属性
   root.setAttribute("name", "tsu");
   NodeList collageNodes = root.getChildNodes();
   if (collageNodes != null) {
    for (int i = 0; i < collageNodes.getLength(); i++) {
     // 删除节点
     Node collage = collageNodes.item(i);
     if (collage.getNodeType() == Node.ELEMENT_NODE) {
      String collageName = collageNodes.item(i)
        .getAttributes().getNamedItem("name")
        .getNodeValue();
      if ("c1".equalsIgnoreCase(collageName)
        || "c2".equalsIgnoreCase(collageName)) {
       root.removeChild(collage);
      } else if ("c3".equalsIgnoreCase(collageName)) {
       Element newChild = document.createElement("class");
       newChild.setAttribute("name", "c4");
       collage.appendChild(newChild);
      }
     }
    }
   }

   Element addCollege = document.createElement("college");
   addCollege.setAttribute("name", "c5");
   root.appendChild(addCollege);
   Text text = document.createTextNode("text");
   addCollege.appendChild(text);

   // 将修改后的文档保存到文件
   TransformerFactory transFactory = TransformerFactory.newInstance();
   Transformer transFormer = transFactory.newTransformer();
   DOMSource domSource = new DOMSource(document);
   File file = new File("src/dom-modify.xml");
   if (file.exists()) {
    file.delete();
   }
   file.createNewFile();
   FileOutputStream out = new FileOutputStream(file);
   StreamResult xmlResult = new StreamResult(out);
   transFormer.transform(domSource, xmlResult);
   System.out.println(file.getAbsolutePath());
  } catch (ParserConfigurationException e) {
   e.printStackTrace();
  } catch (SAXException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } catch (TransformerConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (TransformerException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

 

 

 

 

 

 

package com.chinasoft.parsexml;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jParseXml {
 private static final String filePath = "src/text-modify.xml";
 public static void main(String[] args) {
  write(filePath);
  read();
 }

 /**
  * 
  * @param outFile
  */
 public static void write(String outFile) {
  try {
   // 创建文档对象
   Document document = DocumentHelper.createDocument();
   // 创建节点
   Element universtity = document.addElement("university");
   // 给节点添加属性
   universtity.addAttribute("name", "fudan");
   // 添加注释
   universtity.addComment("这是根节点");
   for (int i = 0; i < 3; i++) {
    Element collage = universtity.addElement("collage");
    collage.addAttribute("name", "张明" + i);
    collage.addText("text");
   }
   // collage.setText("text");
   // 定义xml写入格式
   OutputFormat format = new OutputFormat();
   format.setIndent(true);
   format.setEncoding("GBK");
   format.setNewlines(true);
   File file = new File(outFile);
   if (file.exists()) {
    file.delete();
   }
   file.createNewFile();
   XMLWriter out = new XMLWriter(new FileWriter(file), format);
   out.write(document);
   out.flush();
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 /**
  * 解析xml文件
  */
 public static void read() {
  try {
   SAXReader reader = new SAXReader();
   InputStream is = Dom4jParseXml.class
     .getResourceAsStream("test.xml");
   org.dom4j.Document doc = reader.read(is);
   // 获取根节点
   Element university = doc.getRootElement();
   readNode(university, " ");
  } catch (DocumentException e) {
   e.printStackTrace();
  }
 }

 @SuppressWarnings( { "unchecked", "unchecked" })
 private static void readNode(Element root, String prefix) {
  if (root == null) {
   return;
  }
  // 获取属性
  List<Attribute> attrs = root.attributes();
  if (attrs != null && attrs.size() > 0) {
   System.err.print(prefix);
   for (Attribute attr : attrs) {
    System.err.print(attr.getValue() + " ");
   }
   System.err.println();
  }
  // 获取他的子节点
  List<Element> childNodes = root.elements();
  if (childNodes == null) {
   return;
  } else {
   prefix += "\t";
   for (Element e : childNodes) {
    readNode(e, prefix);
   }
  }

 }
}
css css
伪类定义顺序
a:link, a:visited, a:hover, a:actived


http://happmaoo.iteye.com/blog/912290


p:first-line{
  background-color:red;这是段落中第一行背景色

}

p{
 text-indent:50px;块中首行缩进
}

p:first-letter {首字变大
font-size : 300%;
font-weight : bold;
float : left;
margin-right: 3px;
}
servlet登录拦截器 java
烂机器一般主要用在网页设计中,主要过滤后台,防止没有登录的用户对数据进行乱改乱添加,不过对前台的页面一般还是可以访问的,因为前台主要是一些超链接,和一些action请求。如:
	<!--  登录过滤器  -->
	<filter>
		<filter-name>onlineFilter</filter-name>
		<filter-class>
			com.seosum.infosub.util.OnlineFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>onlineFilter</filter-name>
		<url-pattern>/pages/back/*</url-pattern>
	</filter-mapping>


--------------------------------------------------------------------------------------------

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class OnlineFilter extends HttpServlet implements Filter{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		// 这里设置如果没有登录将要转发到的页面
		RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
		
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse res = (HttpServletResponse) response;
		HttpSession session = req.getSession(true);
		 
		String username = (String)session.getAttribute("username");
		if(username == null || "".equals(username.trim())){
			// 跳转到登录页面
			dispatcher.forward(request, response);
			res.setHeader("Cache-Control", "no-store");
			res.setDateHeader("Expires", 0);
			res.setHeader("Pragma", "no-cache");
		}else{
			chain.doFilter(request, response);
		}
	}

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}


<!--  登录过滤器  -->
	<filter>
		<filter-name>onlineFilter</filter-name>
		<filter-class>
			com.huawei.filter.util.OnlineFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>onlineFilter</filter-name>
		<url-pattern>/pages/*</url-pattern>//过滤掉拥有在pages下的页面,不过滤action
	</filter-mapping>




<struts>
    	<package name="login" extends="struts-default">
    		<action name="add" class="com.huawei.filter.action.LoginAction" method="addLogin">
    			<result name="success" type="redirect">list.action</result>
    			<result name="fail">/pages/error.jsp</result>
    		</action>	
    		<action name="list" class="com.huawei.filter.action.LoginAction" method="listLogin">
    			<result name="success">/pages/listlogin.jsp</result>
    		</action>	
    	</package>
    </struts>
纯js实现ajax功能【用户名是否存在验证 】 javascript
function checkFnameExists() {
	
	 if(document.all.fname.value == null || document.all.fname.value == "") {
	 	alert("请输入用户名");
	   
	} else {
                 //javascript中特有的一个函数
		window.showModelessDialog("checkFnameExists.do?check_fname="+document.all.fname.value);
	
	}
	 
}

<input name="fname">
//html中的代码,点击调用
<input type="button" value="检测" onclick="checkFnameExists();"/>


//后台代码

public class CheckFnameExistsAction extends Action {
	private OptionSaleman optionsaleman;

	public OptionSaleman getOptionsaleman() {
		return optionsaleman;
	}

	public void setOptionsaleman(OptionSaleman optionsaleman) {
		this.optionsaleman = optionsaleman;
	}

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {

		RegisterForm registerForm = (RegisterForm) form;

		String fname = request.getParameter("check_fname");
		List listOptionSalemanName = optionsaleman.findByFname(fname.trim());
		Iterator iter = listOptionSalemanName.iterator();

		if (iter.hasNext()) {
			try {
				PrintWriter pw = response.getWriter();
				pw.print("This username is existing");
			} catch (IOException e) {
				e.printStackTrace();
			}
		} else {
			try {
				PrintWriter pw = response.getWriter();
				pw.print("You can use this username");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return null;
	}

}
登录验证码 jsp
package com.itJob.wit.ImageValidate;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 描述:画验证码类
 * 
 * @author 吴进 2008-5-11
 *         <p>
 * 
 */
public class ImageValidateCodeServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public ImageValidateCodeServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 首先设置页面不缓存
		response.setHeader("pragma", "po-cache");
		response.setHeader("cache-control", "no-cache");
		response.setDateHeader("Expires", 0);

		// 定义图片的宽度和高度
		int width = 100, height = 40;
		// 创建一个图像对象
		BufferedImage image = new BufferedImage(width, height,
				BufferedImage.TYPE_INT_RGB);
		// 得到图像的环境对象
		Graphics g = image.createGraphics();

		Random random = new Random();
		// 用随机颜色填充图像背景
		g.setColor(getRandBgcolor(180, 250));
		g.fillRect(0, 0, width, height);
		for (int i = 0; i < 5; i++) {
			g.setColor(getRandBgcolor(50, 100));
			int x = random.nextInt(width);
			int y = random.nextInt(height);
			g.drawOval(x, y, 4, 4);
		}
		// 设置字体,下面准备画随机数
		g.setFont(new Font("", Font.PLAIN, 40));
		// 随机数字符串
		StringBuffer sbRandomValidateCode = new StringBuffer();
		for (int i = 0; i < 4; i++) {
			// 生成四个数字字符
			String rand = String.valueOf(random.nextInt(10));
			sbRandomValidateCode.append(rand);

			// 生成随机颜色
			g.setColor(new Color(20 + random.nextInt(80), 20 + random
					.nextInt(100), 20 + random.nextInt(90)));

			// 将随机数字画在图像上
			g.drawString(rand, (17 + random.nextInt(3)) * i + 8, 34);

			// 生成干扰线
			for (int k = 0; k < 12; k++) {
				int x = random.nextInt(width);
				int y = random.nextInt(height);
				int xl = random.nextInt(9);
				int yl = random.nextInt(9);
				g.drawLine(x, y, x + xl, y + yl);
			}
		}

		// 将生成的随机数字字符串写入Session
		request.getSession().setAttribute("randomValidateCode",
				sbRandomValidateCode.toString());
		// 使图像生效
		g.dispose();
		// 输出图像到页面
		ImageIO.write(image, "JPEG", response.getOutputStream());
	}

	/**
	 * 描述:产生随机背景色
	 * 
	 * @param fc
	 * @param bc
	 * @return
	 */
	public Color getRandBgcolor(int fc, int bc) {
		Random random = new Random();
		if (fc > 255) {
			fc = 255;
		}
		if (bc > 255) {
			bc = 255;
		}
		int r = fc + random.nextInt(bc - fc);
		int g = fc + random.nextInt(bc - fc);
		int b = fc + random.nextInt(bc - fc);
		return new Color(r, g, b);
	}

	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occurs
	 */
	public void init() throws ServletException {
	}

}



<img src="<%=request.getContextPath()%>/ImageValidateCodeServlet" height="21" width="58">

 <!-- 验证码 -->
  <servlet>
	<servlet-name>ImageValidateCodeServlet</servlet-name>
	<servlet-class>com.itJob.wit.ImageValidate.ImageValidateCodeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
	<servlet-name>ImageValidateCodeServlet</servlet-name>
	<url-pattern>/ImageValidateCodeServlet</url-pattern>
  </servlet-mapping>
  
中文过滤器 中文过滤器
<!-- web.xml 中的过滤器配置,过滤中文 -->    
    <filter>  
        <filter-name>CharacterEncoding</filter-name>  
        <filter-class>  
          com.itJob.wit.util.SetCharacterEncodingFilter  
        </filter-class>  
        <init-param>  
          <param-name>encoding</param-name>  
          <param-value>UTF-8</param-value>  
        </init-param>  
        <init-param>  
          <param-name>ignore</param-name>  
          <param-value>true</param-value>  
        </init-param>  
      </filter>  
      <filter-mapping>  
        <filter-name>CharacterEncoding</filter-name>  
        <url-pattern>/*</url-pattern> 
    </filter-mapping>   
 
 
 
 
 
 
 
 
package com.itJob.wit.util; 
 
import java.io.IOException; 
 
import javax.servlet.Filter; 
import javax.servlet.FilterChain; 
import javax.servlet.FilterConfig; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
 
/** 
 * 描述:中文过滤器 
 * @author TEAMWORK 
 * <p> 
 */  
public class SetCharacterEncodingFilter implements Filter {  
    protected String encoding = null;  
    protected FilterConfig filterConfig = null;  
    protected boolean ignore = true;  
  
    public void destroy() {  
        this.encoding = null;  
        this.filterConfig = null;  
    }  
  
    public void doFilter(ServletRequest request, ServletResponse response,  
            FilterChain chain) throws IOException, ServletException {  
        if (ignore && (request.getCharacterEncoding() == null)) {  
            String encoding = selectEncoding(request);  
            if (encoding != null) {  
                request.setCharacterEncoding(encoding);  
            }  
        }  
  
        chain.doFilter(request, response);  
    }  
  
    public void init(FilterConfig request) throws ServletException {  
        this.filterConfig = request;  
        this.encoding = filterConfig.getInitParameter("encoding");  
        String value = filterConfig.getInitParameter("ignore");  
  
        if (value == null) {  
            this.ignore = true;  
        } else if (value.equalsIgnoreCase("true")) {  
            this.ignore = true;  
        } else if (value.equalsIgnoreCase("yes")) {  
            this.ignore = true;  
        } else {  
            this.ignore = false;  
        }  
    }  
  
    protected String selectEncoding(ServletRequest request) {  
        return (this.encoding);  
    }  
}  
超链接样式 html
a:link{                                              /*超链接正常状态下的样式*/
 
         color:#005799;                       /*深蓝*/
 
         text-decoration:none;             /*无下划线*/
 
}
 
a:visited{                                         /*访问过的超链接*/
 
         color:#000000;                       /*黑色*/
 
         text-decoration:none;             /*无下划线*/
 
}
 
a:hover{                                           /*鼠标经过时的超链接*/
 
         color:#FFFF00;                         /*黄色*/
 
         text-decoration:underline;       /*下划线*/
 
}
js日期
<script type="text/javascript">     
       <!--  
        var myDate = new Date();  
        var year          = myDate.getYear();            //获取当前年份(FireFox显示2位,IE正常)  
        var fullYear      = myDate.getFullYear();        //获取完整的年份(4位,1970-????)  
        var month         = myDate.getMonth() + 1;       //获取当前月份(0-11,0代表1月,单独使用需要加1)  
        var date          = myDate.getDate();            //获取当前日(1-31)  
        var day           = myDate.getDay();             //获取当前星期X(0-6,0代表星期天)  
        var time          = myDate.getTime();            //获取当前时间(从1970.1.1开始的毫秒数)  
        var hours         = myDate.getHours();           //获取当前小时数(0-23)  
        var minutes       = myDate.getMinutes();         //获取当前分钟数(0-59)  
        var seconds       = myDate.getSeconds();         //获取当前秒数(0-59)  
        var milliSeconds  = myDate.getMilliseconds();    //获取当前毫秒数(0-999)  
        var myDated       = myDate.toLocaleDateString(); //获取当前日期 2011年12月08日  
        var mytime        = myDate.toLocaleTimeString(); //获取当前时间 11:11:25  
        var myDateTime    = myDate.toLocaleString();     //获取日期与时间 2011年12月08日 11:11:25   
        //-->      
    </script>  
svn编程 svn
API文档:  
http://svnkit.com/javadoc/org/tmatesoft/svn/core/package-summary.html  
  
例子路径:  
https://wiki.svnkit.com/Managing_A_Working_Copy  
  
别人写的例子:  
http://eatsalt.blog.163.com/blog/static/879402662009102402949523/  
  
public class DefaultSVNResourceGenerator extends AbstractLogEnabled implements SVNResourceGenerator {  
    private SVNClientManager svnClientManager;  
     
    private SVNURL           repositoryURL;  
     
    private void init(String svnUrl, String svnUser, String svnPassword) throws SVNException {  
        DAVRepositoryFactory.setup();  
        repositoryURL = SVNURL.parseURIEncoded(svnUrl);  
  
        ISVNOptions options = SVNWCUtil.createDefaultOptions(true);  
  
        ISVNAuthenticationManager authManager = SVNWCUtil.createDefaultAuthenticationManager(  
            svnUser, svnPassword);  
  
        svnClientManager = SVNClientManager.newInstance(options, authManager);  
  
    }  
    public boolean resourceCheckout(String svnUrl, String projectPath, String svnUser,  
                                    String svnPassword) throws Exception {  
        File projectDir = new File(projectPath);  
        if (projectDir.exists())  
            deleteDir(projectDir);  
         
        if (!projectDir.exists())  
            projectDir.mkdirs();  
         
        init(svnUrl, svnUser, svnPassword);  
         
        SVNUpdateClient updateClient = svnClientManager.getUpdateClient();  
        updateClient.setIgnoreExternals(false);  
  
        updateClient.doCheckout(repositoryURL, projectDir, SVNRevision.HEAD, SVNRevision.HEAD,  
            SVNDepth.INFINITY, true);  
        deleteSvnDir(projectDir);  
        return true;  
    }  
     
    public void deleteSvnDir(File file) {  
        if (file.isDirectory()) {  
            File svnDir = new File(file, ".svn");  
            if (svnDir.exists() && svnDir.isDirectory())  
                deleteDir(svnDir);  
            File[] fileArray = file.listFiles();  
            for (File f : fileArray)  
                deleteSvnDir(f);  
        }  
    }  
  
    public void deleteDir(File file) {  
        if (file.isDirectory()) {  
            File[] files = file.listFiles();  
            for (File f : files)  
                deleteDir(f);  
        }  
        file.delete();  
    }  
}  
svn下载工程 svn
import java.io.File; 
import java.util.ArrayList; 
import java.util.List; 

import org.tmatesoft.svn.core.SVNDepth; 
import org.tmatesoft.svn.core.SVNException; 
import org.tmatesoft.svn.core.SVNURL; 
import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory; 
import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions; 
import org.tmatesoft.svn.core.wc.ISVNOptions; 
import org.tmatesoft.svn.core.wc.SVNClientManager; 
import org.tmatesoft.svn.core.wc.SVNRevision; 
import org.tmatesoft.svn.core.wc.SVNUpdateClient; 
import org.tmatesoft.svn.core.wc.SVNWCUtil; 




public class CheckOutProject implements IDownload { 
private static final String NATIVE = "native"; 
private static ISVNOptions options = SVNWCUtil.createDefaultOptions(true); 

private List<String> gProFolderList = new ArrayList<String>(); 

public List<String> getGProFolderList() { 
return gProFolderList; 
} 

public boolean checkout() { 
ProjectService projectService = new ProjectService(); 
List<Project> listProject = projectService.findAllList(); 
if (listProject == null) { 
Log.errorToDataBase("数据库配置工程信息为空"); 
return false; 
} 
for (Project project : listProject) { 
if (project == null) { 
continue; 
} 
String t3docRootName = project.getT3docRootName(); 
String svnUrl = project.getSvn(); 
String svnUserName = project.getUserName(); 
String svnPassword = project.getPassword(); 
gProFolderList.add(t3docRootName);// 全局工程文件夹名称 
String checkOutPath = ConstString.DOWNLOAD_SRC_PATH + t3docRootName; 
if (checkOutPath == null || t3docRootName == null || svnUrl == null 
|| svnUserName == null || svnPassword == null) { 
continue; 
} 
mkdirs(checkOutPath); 
try { 
DAVRepositoryFactory.setup(); // 对于通过使用 http:// 和 https:// 访问 
SVNURL repositoryURL = SVNURL.parseURIEncoded(svnUrl); 
SVNClientManager svnClientManager = SVNClientManager 
.newInstance((DefaultSVNOptions) options, svnUserName, 
svnPassword); 
SVNUpdateClient updateClient = svnClientManager 
.getUpdateClient(); 
updateClient.setIgnoreExternals(false); 
updateClient.doExport(repositoryURL, new File(checkOutPath), 
SVNRevision.HEAD, SVNRevision.HEAD, NATIVE, true, 
SVNDepth.INFINITY); 
} catch (SVNException e) { 
e.printStackTrace(); 
Log.errorToDataBase("下载更新工程"+checkOutPath+"失败"); 
} 
} 
return true; 

} 

/** 
* 创建文件夹 
* 
* @param path 
*            需要创建文件夹路径 
* @return boolean 
*/ 
public boolean mkdirs(String path) { 
if (path == null) { 
return false; 
} 
File file = new File(path); 
if (!file.exists()) { 
return new File(path).mkdirs(); 
} 
return true; 
} 


} 
System.setProperty和System.getProperty java
public static void main(String[] args) {
		System.setProperty("a", "nihao");//设置一个属性
		String pro= System.getProperty("a");
		System.out.println(pro);//获取自己设置的一个属性
		System.out.println(System.getProperty("file.separator"));//获取当前系统中文件的分隔符
		System.setProperty("homePage","http://" + Utils.getServerIp()+":" + PropertysConstants.TOMCAT_PORT + PropertysConstants.ACCESS_PATH);
	}




<%@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%>


<html>
<body>
<font size="1">找不到网页 </font>
<br>
<font size="1">您要查看的网页可能已被删除、名称已被更改,或者暂时不可用。</font>
<br> 

--------------------------------------------------------------------------------
<br> 

<font size="1">请尝试以下操作:</font>
<br>
<font size="1">如果您已经在地址栏中输入该网页的地址,请确认其拼写正确。</font>
<br>
<ul>
	<li><font size="1">打开<a href= "<%=System.getProperty("homePage")%>" target="_top"><%=System.getProperty("homePage")%></a>主页,然后查找指向您感兴趣信息的链接。</font></li> 
	<li><font size="1">单击后退按钮,尝试其他链接。</font></li> 
	<li><font size="1">单击搜索,寻找 Internet 上的信息。</font></li>
</ul>

<font size="1">HTTP 404 - 未找到文件</font>
<br> 
<font size="1">Internet Explorer</font>
</body>
</html> 
 
捕获404-505 web
在写程序时,别忘记给程序加上错误捕获处理。 
在web.xml中添加以下内容,捕获错误。 


<error-page> 
        <error-code>500</error-code> 
        <location>/error.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>400</error-code> 
        <location>/index.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>403</error-code> 
        <location>/403.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>404</error-code> 
        <location>/404.jsp</location> 
    </error-page> 

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <!-- 配置错误处理 --> 
    <error-page> 
       <error-code>404</error-code> 
       <location>/404.html</location> 
    </error-page> 
    <error-page> 
       <error-code>505</error-code>                             
       <location>/505.html</location> 
    </error-page> 
    <!-- 配置异常处理 --> 
    <error-page> 
       <exception-type>javax.servle.ServletException</exception-type> 
       <location>/error.html</location> 
    </error-page> 
    <error-page> 
       <exception-type>java.lang.NullPointerException</exception-type> 
       <location>/error.html</location> 
    </error-page> 
</web-app> 


500错误: 服务器内部错误,或是程序有问题。 
400错误:URL 地址请求错误。 
403错误:权限错误。 
404错误:客户端请求的网页不存在。 
百度上搜索的错误:HTTP: 
HTTP 
1xx-信息提示 
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 
100-继续。 
101-切换协议。 
2xx-成功 
这类状态代码表明服务器成功地接受了客户端请求。 
200-确定。客户端请求已成功。 
201-已创建。 
202-已接受。 
203-非权威性信息。 
204-无内容。 
205-重置内容。 
206-部分内容。 
3xx-重定向 
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 
301-对象已永久移走,即永久重定向。 
302-对象已临时移动。 
304-未修改。 
307-临时重定向。 
4xx-客户端错误 
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 
401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 
401.1-登录失败。 
401.2-服务器配置导致登录失败。 
401.3-由于ACL对资源的限制而未获得授权。 
401.4-筛选器授权失败。 
401.5-ISAPI/CGI应用程序授权失败。 
401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。 
403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因: 
403.1-执行访问被禁止。 
403.2-读访问被禁止。 
403.3-写访问被禁止。 
403.4-要求SSL。 
403.5-要求SSL128。 
403.6-IP地址被拒绝。 
403.7-要求客户端证书。 
403.8-站点访问被拒绝。 
403.9-用户数过多。 
403.10-配置无效。 
403.11-密码更改。 
403.12-拒绝访问映射表。 
403.13-客户端证书被吊销。 
403.14-拒绝目录列表。 
403.15-超出客户端访问许可。 
403.16-客户端证书不受信任或无效。 
403.17-客户端证书已过期或尚未生效。 
403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。 
403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。 
403.20-Passport登录失败。这个错误代码为IIS6.0所专用。 
404-未找到。 
404.0-(无)–没有找到文件或目录。 
404.1-无法在所请求的端口上访问Web站点。 
404.2-Web服务扩展锁定策略阻止本请求。 
404.3-MIME映射策略阻止本请求。 
405-用来访问本页面的HTTP谓词不被允许(方法不被允许) 
406-客户端浏览器不接受所请求页面的MIME类型。 
407-要求进行代理身份验证。 
412-前提条件失败。 
413–请求实体太大。 
414-请求URI太长。 
415–不支持的媒体类型。 
416–所请求的范围无法满足。 
417–执行失败。 
423–锁定的错误。 
5xx-服务器错误 
服务器由于遇到错误而不能完成该请求。 
500-内部服务器错误。 
500.12-应用程序正忙于在Web服务器上重新启动。 
500.13-Web服务器太忙。 
500.15-不允许直接请求Global.asa。 
500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。 
500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。 
500.100-内部ASP错误。 
501-页眉值指定了未实现的配置。 
502-Web服务器用作网关或代理服务器时收到了无效响应。 
502.1-CGI应用程序超时。 
502.2-CGI应用程序出错。application. 
503-服务不可用。这个错误代码为IIS6.0所专用。 
504-网关超时。 
505-HTTP版本不受支持。
Global site tag (gtag.js) - Google Analytics