<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>weiweichen1985</title>
    <description></description>
    <link>http://weiweichen1985.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>别了，盖茨</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/208759" style="color:red;">http://weiweichen1985.javaeye.com/blog/208759</a>&nbsp;
          发表时间: 2008年06月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">盖茨走了，
在世人万千的注视中走了，
带着自己的荣耀，
带着属于自己，
也属于世人的"视窗",
走了!
这一走也带走了一个时代!
一个属于盖茨,
也属于微软,
更属于这个世界的时代!
今天是个特别的日子,
不是吗?
一个伟人走了,
在你我的注视中走了...
虽然你我不曾伟大,
不曾笑傲江湖,
但是能够见到历史沧桑,风云变幻
这便够了...
上帝那老头在你我出生之时,
便于安排好你我此生此世的命运.
向前走,不回头,不后悔!!!
今天是个特别的日子,不是吗???</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/208759#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 27 Jun 2008 17:38:50 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/208759</link>
        <guid>http://weiweichen1985.javaeye.com/blog/208759</guid>
      </item>
      <item>
        <title>模拟google搜索</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/205917" style="color:red;">http://weiweichen1985.javaeye.com/blog/205917</a>&nbsp;
          发表时间: 2008年06月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          google搜索做的很牛X，推出之后，N多大型网站竞相模拟，差不多和google效果做得一模一样。。。<br />惊叹，牛人真多。。。<br />其实google真正用到AJAX最牛X的地方应该是google earth,惊叹中。。。。<br />去年一直想自己也弄一个，只可以没有时间啊。。。<br />这段时间空出来了，搞了下。。。只可惜水平有限，有些方面差强人意。。。<br />见笑了。。。<br />哪个大牛如果有更好的方案，提供提供，顺便也学习一下。。。<br />呵呵。。。<br />由于环境不同，所以搜索只是从一个数组里面进行搜索。。。
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/205917#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Jun 2008 17:54:04 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/205917</link>
        <guid>http://weiweichen1985.javaeye.com/blog/205917</guid>
      </item>
      <item>
        <title>poi之WEB生成xls</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/204158" style="color:red;">http://weiweichen1985.javaeye.com/blog/204158</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
	String str = request.getParameter("str");
		str = URLDecoder.decode(str, "utf-8");
		String[] arr = str.split(",");
		try {
			HSSFWorkbook wb = new HSSFWorkbook();
			HSSFSheet sheet = wb.createSheet("第一个xls");
			
			
			HSSFCellStyle cellStyle = wb.createCellStyle();     //字体用的风格
			cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //左右居中    
			cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //上下居中 
			cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框 
			cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); //左边框     
			cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); //右边框     
			cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); //上边框 
			cellStyle.setWrapText(true);
			HSSFFont cellFont5 = wb.createFont();
			cellFont5.setFontHeightInPoints((short) 10); //字号
			cellFont5.setFontName("宋体");      //设置为宋体
			cellStyle.setFont(cellFont5);
			
			
			
			HSSFRow rowi = sheet.createRow(0);   //第一行
			rowi.setHeight((short)800);
			HSSFCell celli = rowi.createCell((short) 0);
	        celli.setEncoding(HSSFCell.ENCODING_UTF_16);
	        HSSFCell cellmy = null;
	        for (int i = 0; i &lt; 4; i++) {
				cellmy = rowi.createCell((short) i);
				cellmy.setCellStyle(cellStyle);
			}
	        celli.setCellValue("生成Excel文件");
	        celli.setCellStyle(cellStyle);
	        sheet.addMergedRegion(new Region(0, (short) 0, 0, (short)4));
			
			
			HSSFRow row = sheet.createRow(1); // 第一行标题

			String[] titles = { "姓名", "年龄", "QQ", "Email" };
			HSSFCell cell = null;
			for (short i = 0; i &lt; titles.length; i++) {
				cell = row.createCell(i);
				cell.setCellValue(titles[i]);
			}

			row = sheet.createRow(2); // 第二行
			for (short i = 0; i &lt; arr.length; i++) {
				cell = row.createCell(i);
				cell.setCellValue(arr[i]);
			}

			SimpleDateFormat timeformat = new SimpleDateFormat("yyyyMMddHHmmss");
			java.util.Date date = Calendar.getInstance().getTime();
			String createdate = timeformat.format(date).toString();

			int location = (int) (Math.random() * 100); // 100中取出一个

			String fileDirectory = request.getRealPath("/") + "/xls";
			FileOutputStream fileOut = new FileOutputStream(fileDirectory
					+ File.separator + createdate + "" + location + ".xls");
			wb.write(fileOut);
			fileOut.flush();
			fileOut.close();
			String fileName = fileDirectory + File.separator + createdate + ""
					+ location + ".xls";
			// System.out.println("文件名" + fileName);

			// 新建一个SmartUpload对象

			SmartUpload su = new SmartUpload();

			su.initialize(this.getServletConfig(), request, response);

			su.downloadFile(fileName, "application/vnd.ms-excel");// 用浏览器打开

		} catch (Exception e) {
			e.printStackTrace();

		}
</pre><br /><pre name="code" class="java">
&lt;%@ page language="java" pageEncoding="gbk"%>

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
	&lt;head>


		&lt;title>My JSP 'index.jsp' starting page&lt;/title>
		&lt;meta http-equiv="pragma" content="no-cache">
		&lt;meta http-equiv="cache-control" content="no-cache">
		&lt;meta http-equiv="expires" content="0">
		&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		&lt;meta http-equiv="description" content="This is my page">
		&lt;meta http-equiv="content-type" content="text/html; charset=gbk">
		&lt;script type="text/javascript">
		
	function  generateExcel(e){

		// 去掉字符两端的空白字符
String.prototype.Trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}


		var str="";
		var ele=null;
		var tr=null;
		if(document.all){
			ele=event.srcElement;
			tr=ele.parentElement.parentElement;
		}else{
			ele=e.target;
			tr=ele.parentNode.parentNode;
		}



		 
		var len=tr.childNodes.length;
		//alert(len);
		for(var i=0;i&lt;len-1;i++){
			var child=tr.childNodes[i];
			if(document.all){
			str+=child.innerText.Trim()+",";
			}else{
			    if(child.tagName){
				    if(child.textContent!=null){
						str+=child.textContent.Trim()+",";
					}
					//alert(child.textContent);
				}
			}
		}
		//alert(str);
		str=str.substr(0,str.length-1);
		 
		//alert(str);
		
		str=encodeURI(str);
		str=encodeURI(str);
		
		document.location="makeExcel?str="+str;
	}
		&lt;/script>
	&lt;/head>

	&lt;body>
		&lt;table border="1" cellspacing="0" cellpadding="6">
			&lt;tr>
				&lt;td>
					姓名
				&lt;/td>
				&lt;td>
					年龄
				&lt;/td>
				&lt;td>
					QQ
				&lt;/td>
				&lt;td>
					Email
				&lt;/td>
				&lt;td>
					操作
				&lt;/td>
			&lt;/tr>
			&lt;tr>
				&lt;td>
					张三
				&lt;/td>
				&lt;td>
					18
				&lt;/td>
				&lt;td>
					359951165
				&lt;/td>
				&lt;td>
					weiweichen_666@126.com
				&lt;/td>
				&lt;td>
					&lt;input type="button" value="生成excel文件"
						onClick="generateExcel(event)">&lt;/input>
				&lt;/td>
			&lt;/tr>
			&lt;tr>
				&lt;td>
					李四
				&lt;/td>
				&lt;td>
					21
				&lt;/td>
				&lt;td>
					2221311
				&lt;/td>
				&lt;td>
					weiweichen_8888@126.com
				&lt;/td>
				&lt;td>
					&lt;input type="button" value="生成excel文件"
						onClick="generateExcel(event)">&lt;/input>
				&lt;/td>
			&lt;/tr>
			&lt;tr>
				&lt;td>
					李四光
				&lt;/td>
				&lt;td>
					100
				&lt;/td>
				&lt;td>
					1234567
				&lt;/td>
				&lt;td>
					siguang@163.com
				&lt;/td>
				&lt;td>
					&lt;input type="button" value="生成excel文件"
						onClick="generateExcel(event)">&lt;/input>
				&lt;/td>
			&lt;/tr>
			&lt;tr>
				&lt;td>
					小飞
				&lt;/td>
				&lt;td>
					32
				&lt;/td>
				&lt;td>
					2322223
				&lt;/td>
				&lt;td>
					ssss@222.com
				&lt;/td>
				&lt;td>
					&lt;input type="button" value="生成excel文件"
						onClick="generateExcel(event)">&lt;/input>
				&lt;/td>
			&lt;/tr>
			&lt;tr>
				&lt;td>
					叶无道
				&lt;/td>
				&lt;td>
					20
				&lt;/td>
				&lt;td>
					7654321
				&lt;/td>
				&lt;td>
					wwww@222.com
				&lt;/td>
				&lt;td>
					&lt;input type="button" value="生成excel文件"
						onClick="generateExcel(event)">&lt;/input>
				&lt;/td>
			&lt;/tr>

		&lt;/table>
	&lt;/body>
&lt;/html>
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/204158#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 14:55:24 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/204158</link>
        <guid>http://weiweichen1985.javaeye.com/blog/204158</guid>
      </item>
      <item>
        <title>poi之控制台生成xls</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/204147" style="color:red;">http://weiweichen1985.javaeye.com/blog/204147</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
package com.cw.common;

import org.apache.poi.hssf.usermodel.*;
import java.io.FileOutputStream;
 
public class PoiTest {

	public static void main(String[] args) throws Exception {

		FileOutputStream fos = new FileOutputStream("e:\\a.xls");
		HSSFWorkbook wb = new HSSFWorkbook();
		HSSFSheet s = wb.createSheet();
		wb.setSheetName(0, "Matrix");
		for (short i = 0; i &lt; 50; i++) {
			HSSFRow row = s.createRow(i);
			for (short j = 0; j &lt; 50; j++) {
				HSSFCell cell = row.createCell(j);
				cell.setCellValue("" + i + "," + j);
			}
		}
		wb.write(fos);
		fos.close();
	}
}

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/204147#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 14:30:13 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/204147</link>
        <guid>http://weiweichen1985.javaeye.com/blog/204147</guid>
      </item>
      <item>
        <title>swing(三)----一个简单的聊天程序</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/200886" style="color:red;">http://weiweichen1985.javaeye.com/blog/200886</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          服务器端代码:<br /><pre name="code" class="java">
package com.cw.threadtest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

public class ChatServer {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ServerSocket ss=null;
		try {
			ss = new ServerSocket(9100);
		} catch (IOException e) {
			e.printStackTrace();
		}
		List list = new ArrayList();
		while(true){
			try {
				Socket s = ss.accept();
				list.add(s);
				Thread t = new ChatServerThread(s,list);
				t.start();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
}
class ChatServerThread extends Thread{
	Socket socket ;
	List list;
	BufferedReader in ;
	public ChatServerThread(Socket socket, List list) {
		super();
		this.socket = socket;
		this.list = list;
	}
	@Override
	public void run() {
		try {
			in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			while(true){
				String text = in.readLine();
				if (text==null)break;
				for(int i=0;i&lt;list.size();i++){
					Socket socket2 = (Socket) list.get(i);
					PrintWriter out = new PrintWriter(socket2.getOutputStream());
					out.println(text);
					out.flush();
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			list.remove(socket);
		}
	}
}
</pre><br />客户端<br /><pre name="code" class="java">
package com.cw.threadtest;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class ChatClient {
	JFrame frame ;
	JTextField jtf ;
	JTextArea jta;
	BufferedReader in ;
	PrintWriter out;
	
	public ChatClient() {
		frame = new JFrame("");
		frame.setSize(300, 300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jtf = new JTextField();
		jta = new JTextArea();
		frame.add(jtf,"South");
		frame.add(new JScrollPane(jta));
		jta.setEditable(false);
		frame.setVisible(true);
		Socket s;
		try {
			s =new Socket("192.168.1.11",9100);
			out = new PrintWriter(s.getOutputStream());
			in = new BufferedReader(new InputStreamReader(s.getInputStream()));
			jtf.addActionListener(new ActionListener(){

				public void actionPerformed(ActionEvent arg0) {
					
					String text = jtf.getText();
					jtf.setText("");
					out.println(text);
					out.flush();
				}
				
				
			});
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	public void receiveText(){
		while(true){
			try {
				String text = in.readLine();
				jta.append(text+"\n");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		ChatClient cc = new ChatClient();
		cc.receiveText();

	}

}
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/200886#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Jun 2008 13:15:25 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/200886</link>
        <guid>http://weiweichen1985.javaeye.com/blog/200886</guid>
      </item>
      <item>
        <title>swing(二)-----五个可执行jar文件</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/200585" style="color:red;">http://weiweichen1985.javaeye.com/blog/200585</a>&nbsp;
          发表时间: 2008年06月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          五个可执行jar文件
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/200585#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jun 2008 16:53:34 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/200585</link>
        <guid>http://weiweichen1985.javaeye.com/blog/200585</guid>
      </item>
      <item>
        <title>使用过滤器验证是否登录</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/197373" style="color:red;">http://weiweichen1985.javaeye.com/blog/197373</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          以前过滤器可能都只是处理下编码，这次项目中发觉其他成员都是使用过滤器来验证是否登录，然后作相应的转向，发觉真的很不错，不用写一个页面用来判断，然后在每个页面进行包含，也不需要在action中先判断是否登录了再作相应的业务逻辑处理。。。看来还是项目经验不够啊。。。<br />过滤器<br /><pre name="code" class="java">
package com.lhcard.common;

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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author:陈伟
 * @date:2008-5-23
 * 
 */
public class GeRenLoginFilter implements Filter {

	private final static String[] eixt_url = { "index.jsp", "userlogin.jsp",
			"relogin.jsp", "uholdcard.do", "/js", "/css", "/images",
			"cgoods.do", "keywordslist.jsp", "regprotocol.jsp", "register.jsp",
			"uarea.do" }; // 不用做权限判断的URL

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws ServletException, IOException {

		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse res = (HttpServletResponse) response;
		boolean haveFind = true;

		// System.out.println("req.getRequestURI()==="+req.getRequestURI());

		if (req.getRequestURI().indexOf(".jsp") >= 0
				|| req.getRequestURI().indexOf(".do") >= 0)
			haveFind = false;

		for (int i = 0; i &lt; eixt_url.length; i++) {
			if (req.getRequestURI().indexOf(eixt_url[i]) >= 0) {
				haveFind = true;
				break;
			}
		}

		// System.out.println("haveFind==="+haveFind);

		if (!haveFind && req.getSession().getAttribute("user") == null) {
			res.sendRedirect(req.getContextPath() + "/GeRen/relogin.jsp");
			// System.out.println("----redirect----");
			return;
		}
		chain.doFilter(req, res);
	}

	public void init(FilterConfig filterConfig) throws ServletException {
	}

	public void destroy() {
	}

}
</pre><br /><br />web.xml下的配置<br /><pre name="code" class="java">
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	&lt;description>系统过滤器定义&lt;/description>
	&lt;filter>
		&lt;filter-name>Set Character Encoding&lt;/filter-name>
		&lt;filter-class>com.lhcard.common.SetEncodingFilter&lt;/filter-class>
		&lt;init-param>
			&lt;param-name>encoding&lt;/param-name>
			&lt;param-value>gbk&lt;/param-value>
		&lt;/init-param>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>HibernateSessionFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.HibernateSessionFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>FaKaRenLoginFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.FaKaRenLoginFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>ShangHuLoginFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.ShangHuLoginFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>YunYingLoginFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.YunYingLoginFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>ChiKaRenFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.ChiKaRenFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter>
		&lt;filter-name>GeRenLoginFilter&lt;/filter-name>
		&lt;filter-class>
			com.lhcard.common.GeRenLoginFilter
		&lt;/filter-class>
	&lt;/filter>
	&lt;filter-mapping>
		&lt;filter-name>Set Character Encoding&lt;/filter-name>
		&lt;url-pattern>/*&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>HibernateSessionFilter&lt;/filter-name>
		&lt;url-pattern>*.do&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>FaKaRenLoginFilter&lt;/filter-name>
		&lt;url-pattern>/FaKaRen/*&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>ShangHuLoginFilter&lt;/filter-name>
		&lt;url-pattern>/ShangHu/*&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>YunYingLoginFilter&lt;/filter-name>
		&lt;url-pattern>/YunYing/*&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>ChiKaRenFilter&lt;/filter-name>
		&lt;url-pattern>/ChiKaRen/*&lt;/url-pattern>
	&lt;/filter-mapping>
	&lt;filter-mapping>
		&lt;filter-name>GeRenLoginFilter&lt;/filter-name>
		&lt;url-pattern>/GeRen/*&lt;/url-pattern>
	&lt;/filter-mapping>

	&lt;description>STRUTS的ActionServlet配置&lt;/description>
	&lt;servlet>
		&lt;servlet-name>action&lt;/servlet-name>
		&lt;servlet-class>
			org.apache.struts.action.ActionServlet
		&lt;/servlet-class>
		&lt;init-param>
			&lt;param-name>config&lt;/param-name>
			&lt;param-value>
				/WEB-INF/struts-config.xml,
				/WEB-INF/struts-config-chikaren.xml,
				/WEB-INF/struts-config-geren.xml,
				/WEB-INF/struts-config-shanghu.xml,
				/WEB-INF/struts-config-yunying.xml,
				/WEB-INF/struts-config-fakaren.xml
			&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>debug&lt;/param-name>
			&lt;param-value>3&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>detail&lt;/param-name>
			&lt;param-value>3&lt;/param-value>
		&lt;/init-param>
		&lt;load-on-startup>0&lt;/load-on-startup>
	&lt;/servlet>
	&lt;servlet-mapping>
		&lt;servlet-name>action&lt;/servlet-name>
		&lt;url-pattern>*.do&lt;/url-pattern>
	&lt;/servlet-mapping>

	&lt;servlet>
		&lt;servlet-name>getalllist&lt;/servlet-name>
		&lt;servlet-class>com.lhcard.common.GetAllList&lt;/servlet-class>

		&lt;load-on-startup>2&lt;/load-on-startup>
	&lt;/servlet>

	&lt;!-- FCKeditor  -->
	&lt;servlet>
		&lt;servlet-name>Connector&lt;/servlet-name>
		&lt;servlet-class>
			com.fredck.FCKeditor.connector.ConnectorServlet
		&lt;/servlet-class>
		&lt;init-param>
			&lt;param-name>baseDir&lt;/param-name>
			&lt;param-value>/UserFiles/&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>debug&lt;/param-name>
			&lt;param-value>true&lt;/param-value>
		&lt;/init-param>
		&lt;load-on-startup>1&lt;/load-on-startup>
	&lt;/servlet>


	&lt;servlet>
		&lt;servlet-name>SimpleUploader&lt;/servlet-name>
		&lt;servlet-class>
			com.fredck.FCKeditor.uploader.SimpleUploaderServlet
		&lt;/servlet-class>
		&lt;init-param>
			&lt;param-name>baseDir&lt;/param-name>
			&lt;param-value>/UserFiles/&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>debug&lt;/param-name>
			&lt;param-value>true&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>enabled&lt;/param-name>
			&lt;param-value>true&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>AllowedExtensionsFile&lt;/param-name>
			&lt;param-value>&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>DeniedExtensionsFile&lt;/param-name>
			&lt;param-value>
				php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi
			&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>AllowedExtensionsImage&lt;/param-name>
			&lt;param-value>jpg|gif|jpeg|png|bmp&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>DeniedExtensionsImage&lt;/param-name>
			&lt;param-value>&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>AllowedExtensionsFlash&lt;/param-name>
			&lt;param-value>swf|fla&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>DeniedExtensionsFlash&lt;/param-name>
			&lt;param-value>&lt;/param-value>
		&lt;/init-param>
		&lt;load-on-startup>1&lt;/load-on-startup>
	&lt;/servlet>

	&lt;servlet-mapping>
		&lt;servlet-name>Connector&lt;/servlet-name>
		&lt;url-pattern>
			/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector
		&lt;/url-pattern>
	&lt;/servlet-mapping>

	&lt;servlet-mapping>
		&lt;servlet-name>SimpleUploader&lt;/servlet-name>
		&lt;url-pattern>
			/FCKeditor/editor/filemanager/upload/simpleuploader
		&lt;/url-pattern>
	&lt;/servlet-mapping>


	&lt;welcome-file-list>
		&lt;welcome-file>index.jsp&lt;/welcome-file>
	&lt;/welcome-file-list>
	&lt;description>页面标签的加载&lt;/description>
	&lt;jsp-config>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/app.tld&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/app.tld&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-bean.tld&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/struts-bean.tld&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-html.tld&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/struts-html.tld&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-logic.tld&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/struts-logic.tld&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-nested.tld&lt;/taglib-uri>
			&lt;taglib-location>
				/WEB-INF/struts-nested.tld
			&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-template.tld&lt;/taglib-uri>
			&lt;taglib-location>
				/WEB-INF/struts-template.tld
			&lt;/taglib-location>
		&lt;/taglib>
		&lt;taglib>
			&lt;taglib-uri>/WEB-INF/struts-tiles.tld&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/struts-tiles.tld&lt;/taglib-location>
		&lt;/taglib>

		&lt;taglib>
			&lt;taglib-uri>/FCKeditor&lt;/taglib-uri>
			&lt;taglib-location>/WEB-INF/FCKeditor.tld&lt;/taglib-location>
		&lt;/taglib>
	&lt;/jsp-config>
	&lt;session-config>
		&lt;session-timeout>720&lt;/session-timeout>
	&lt;/session-config>
&lt;/web-app>


</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/197373#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 11:45:22 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/197373</link>
        <guid>http://weiweichen1985.javaeye.com/blog/197373</guid>
      </item>
      <item>
        <title>EL自定义函数</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/195271" style="color:red;">http://weiweichen1985.javaeye.com/blog/195271</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          jstl自带的标签有时候可以满足不了我们的需求，这时我们就要用到自定义函数。。。<br />新建一个类，定义好所需要的方法。。。<br /><pre name="code" class="java">
package com.cw.common;

/**
 * 定义EL自定义函数
 * 
 * @author:陈伟
 * @date:2008-5-15
 * 
 */
public class UFunction {

	/**
	 * 获取一个字符串的长度
	 * 
	 * @author 陈伟
	 * @date 2008-5-15
	 * @param str
	 * @return int
	 */
	public static int getLen(String str) {
		return str.length();
	}

	/**
	 * 截取字符串
	 * 
	 * @author 陈伟
	 * @date 2008-5-15
	 * @param str
	 * @param start
	 * @param end
	 * @return String
	 */
	public static String substr(String str, int start, int end) {
		return str.substring(start, end);
	}

	/**
	 * 两数相除获取整数结果
	 * 
	 * @author 陈伟
	 * @date 2008-5-15
	 * @param first
	 * @param second
	 * @return int
	 */
	public static int chufa(int first, int second) {
		return first / second;
	}
}

</pre><br />再建一个tld文件放在WEB-INF目录下面对其进行配置,<br /><pre name="code" class="java">
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;taglib xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
	version="2.0">
	&lt;tlib-version>1.0&lt;/tlib-version>
	&lt;short-name>len&lt;/short-name>
	&lt;function>
		&lt;description>calculate string length&lt;/description>&lt;!-- 对这个EL方法的描述  -->
		&lt;name>getLen&lt;/name>&lt;!-- 调用EL方法的名称 -->
		&lt;function-class>com.cw.common.UFunction&lt;/function-class>
		&lt;function-signature>
			int getLen(java.lang.String)
		&lt;/function-signature>
		&lt;example>${len:getLen(str)}&lt;/example>&lt;!-- 例如 -->
	&lt;/function>

	&lt;function>
		&lt;description>substring&lt;/description>
		&lt;name>substr&lt;/name>
		&lt;function-class>com.cw.common.UFunction&lt;/function-class>
		&lt;function-signature>
			java.lang.String substr(java.lang.String,int,int)
		&lt;/function-signature>
	&lt;/function>

	&lt;function>
		&lt;description>chufa&lt;/description>
		&lt;name>chufa&lt;/name>
		&lt;function-class>com.cw.common.UFunction&lt;/function-class>
		&lt;function-signature>int chufa(int,int)&lt;/function-signature>
	&lt;/function>
&lt;/taglib>
</pre><br />最后一步就是调用了<br /><pre name="code" class="java">
&lt;%@ page language="java" pageEncoding="gbk"%>
&lt;%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
&lt;%@ taglib uri="/WEB-INF/mytag.tld" prefix="myTag" %>

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
  &lt;body>
  	&lt;c:set var="str" value="1111111111111111111111111111">&lt;/c:set>
  	字条串"${str}"的长度是${myTag:getLen(str)}&lt;br/>
  	字条串"${str}"截取前5个字符：${myTag:substr(str,0,5)}&lt;br/>
  	5除以3取整数是:${myTag:chufa(5,3) }
  
  &lt;/body>
&lt;/html>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/195271#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 14:34:34 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/195271</link>
        <guid>http://weiweichen1985.javaeye.com/blog/195271</guid>
      </item>
      <item>
        <title>ssh下的配置</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/194249" style="color:red;">http://weiweichen1985.javaeye.com/blog/194249</a>&nbsp;
          发表时间: 2008年05月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
首先，要把applicationContext.xml加载一内存..
web.xml
================
&lt;!-- 根据需要可能要添加侦听器  -->
&lt;listener>
		&lt;listener-class>
			org.springframework.web.context.ContextLoaderListener
		&lt;/listener-class>
	&lt;/listener>

&lt;context-param>
		&lt;param-name>contextConfigLocation&lt;/param-name>
		&lt;param-value>/WEB-INF/applicationContext.xml,/WEB-INF/applicationContext-chikaren.xml,/WEB-INF/applicationContext-fakaren.xml,/WEB-INF/applicationContext-geren.xml,/WEB-INF/applicationContext-shanghu.xml,/WEB-INF/applicationContext-yunying.xml&lt;/param-value>
&lt;/context-param>

把struts-config.xml中的Action都定义成org.springframework.web.struts.DelegatingActionProxy,这是一个代理action,
请求都会先提交给这个代理action,然后这个代理action会提交给内存中applicationContext.xml配置与当前请求路径同名path的bean,这里同名的bean才是struts框架下的action,真正的业务在这里实现.同时applicationContext.xml作为一个插件配置在struts-config.xml文件中...
struts-config-geren.xml
=======================
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

&lt;struts-config>
	&lt;data-sources />
	&lt;form-beans>
		&lt;form-bean name="testForm"
			type="com.jifen.struts.form.TestForm" />
		&lt;form-bean name="uareaForm"
			type="com.jifen.struts.form.UareaForm" />
		&lt;form-bean name="cConsumerForm"
			type="com.jifen.struts.form.CConsumerForm" />
		&lt;form-bean name="uholdcardForm"
			type="com.jifen.struts.form.UholdcardForm" />


	&lt;/form-beans>

	&lt;global-exceptions />
	&lt;global-forwards />
	&lt;action-mappings>
		&lt;action attribute="testForm" input="/test.jsp" name="testForm"
			path="/test" scope="request"
			type="org.springframework.web.struts.DelegatingActionProxy">
			&lt;forward name="success" path="/index.jsp" />
		&lt;/action>
		&lt;action attribute="uareaForm" name="uareaForm"
			parameter="method" path="/uarea" scope="request"
			type="org.springframework.web.struts.DelegatingActionProxy" />

		&lt;action attribute="cConsumerForm" name="cConsumerForm"
			path="/shangHu" parameter="method" scope="request"
			type="org.springframework.web.struts.DelegatingActionProxy">
			&lt;forward name="shList" path="/FaKaRen/htm/shList.jsp" />
		&lt;/action>
		&lt;action attribute="uholdcardForm" name="uholdcardForm"
			parameter="method" path="/uholdcard" scope="request"
			type="org.springframework.web.struts.DelegatingActionProxy"
			input="/GeRen/register.jsp" validate="false">
			&lt;forward name="login" path="/GeRen/userlogin.jsp"
				redirect="true">
			&lt;/forward>

		&lt;/action>
	&lt;/action-mappings>

	&lt;message-resources
		parameter="com.jifen.struts.ApplicationResources" />
	&lt;plug-in
		className="org.springframework.web.struts.ContextLoaderPlugIn">
		&lt;set-property property="contextConfigLocation"
			value="/WEB-INF/applicationContext-geren.xml" />
	&lt;/plug-in>
&lt;/struts-config>

applicationContext-geren.xml
===========================
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;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.0.xsd">
	
	
	&lt;bean name="/test" class="com.jifen.struts.action.TestAction"
		abstract="false" lazy-init="default" autowire="default"
		dependency-check="default">
		&lt;property name="ousersDAO">
			&lt;ref bean="ousersDAO" />
		&lt;/property>
	&lt;/bean>
	
	
	&lt;bean name="/uholdcard" class="com.jifen.struts.action.UholdcardAction"
		abstract="false" lazy-init="default" autowire="default"
		dependency-check="default">
		&lt;property name="uholdcardDao">
			&lt;ref bean="uholdCardDAO" />
		&lt;/property>
		
		&lt;property name="certiDao">
			&lt;ref bean="ucertificateDAO"/>
		&lt;/property>
		
		&lt;property name="areaDao">
			&lt;ref bean="uareaDAO"/>
		&lt;/property>
	&lt;/bean>

&lt;/beans></pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/194249#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 19 May 2008 09:58:54 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/194249</link>
        <guid>http://weiweichen1985.javaeye.com/blog/194249</guid>
      </item>
      <item>
        <title>关于setInterval定时器的使用示例</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/193628" style="color:red;">http://weiweichen1985.javaeye.com/blog/193628</a>&nbsp;
          发表时间: 2008年05月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>

	&lt;body>
		&lt;div id="dd">
			&lt;img src="ai2.gif" alt="" width="700" height="300" />
		&lt;/div>
		&lt;table>
			&lt;tr align="left" valign="middle">
				&lt;td height="25">
					&lt;input type="radio" id="brandname" name="r" value="100" />
					&lt;input type="text" name="r" value="50"
						style="border:0 solid #000000">
				&lt;/td>
				&lt;td height="25">
					20
				&lt;/td>
			&lt;/tr>
			&lt;tr align="left" valign="middle">
				&lt;td height="25">
					&lt;input type="radio" id="brandname" name="r" value="200" />
					&lt;input type="text" name="r" value="250"
						style="border:0 solid #000000">
				&lt;/td>
				&lt;td height="25">
					220
				&lt;/td>
			&lt;/tr>
			&lt;tr align="left" valign="middle">
				&lt;td height="25">
					&lt;input type="radio" id="brandname" name="r" value="300" />
					&lt;input type="text" name="r" value="350"
						style="border:0 solid #000000">
				&lt;/td>
				&lt;td height="25">
					230
				&lt;/td>
			&lt;/tr>
		&lt;/table>

		&lt;script type="text/javascript">
		var t;
		var ss=0;
		
		
		function  setTimeOutss(){
			
			ss+=1;
			if(ss>(17)){
				document.getElementById("dd").display="none";
				document.getElementById("dd").innerHTML="";
				clearInterval(t);
			}
		}
		t=window.setInterval("setTimeOutss()",1000);
		
&lt;/script>
	&lt;/body>
&lt;/html>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/193628#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 16 May 2008 13:30:12 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/193628</link>
        <guid>http://weiweichen1985.javaeye.com/blog/193628</guid>
      </item>
      <item>
        <title>古老的乱码问题</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/191146" style="color:red;">http://weiweichen1985.javaeye.com/blog/191146</a>&nbsp;
          发表时间: 2008年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在框架盛行的年代，虽然servlet这些东西都是些最基本的东西<br />但是在实际的项目开发过程中都很少再用到，当然，除非你们公司不用框架。。。<br />今天在CSDN上看了个例子，一个家伙问登录怎么实现。。。<br />不少人给出了思路，还贴出代码<br />有人贴出了这样一行SQL语句<br />select count(*) from 用户表 where 用户名字段="用户名" and 密码字段="密码"<br />如果数据库的密码没有加密的话，很容易SQL注入攻击。。。<br />只要密码输成a' or 'a'='a    之类的。。。<br />后来写了个DEMO jsp+servlet<br />登录之后的<br />在servlet中输出登录后的结果，就是用out.println();<br />此时乱码出来了。。。<br />页面编码:gbk<br />加了下面两行代码也不行。。。<br />response.setContentType("text/html;charset=gbk");<br />response.setCharacterEncoding("gbk");<br />到网上找啊找啊。。。<br />最后终于在快放弃的时候找到了。。。<br />设置下输出流的编码格式<br />PrintWriter out = new PrintWriter(new <br /><br />OutputStreamWriter(response.getOutputStream(),"gbk"));<br />OK，搞定。。。<br />呵呵，又进步了。。。
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/191146#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 08 May 2008 17:03:52 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/191146</link>
        <guid>http://weiweichen1985.javaeye.com/blog/191146</guid>
      </item>
      <item>
        <title>FCKEditor的使用</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/191054" style="color:red;">http://weiweichen1985.javaeye.com/blog/191054</a>&nbsp;
          发表时间: 2008年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
关于js验证:
//获取对象，如果使用传统DOM获取的话，提交的时候第一次的值不会改变，只有点击第二次才会//获取正常的值
var contentsElement=FCKeditorAPI.GetInstance("contents");
	var contents =contentsElement.GetXHTML();
	if(contents=="" || contents.length==0){
		alert("\u5185\u5bb9\u4e0d\u80fd\u4e3a\u7a7a!");
//获取焦点，注意F一定要是大写
		contentsElement.Focus();
		return false;
	}
	else if(contents.length>1000){
		alert("\u5185\u5bb9\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc71000\u4e2a\u5b57\u7b26!");
		contentsElement.Focus();
		return false;
	}

关于使用:
附件是一个简单的配置，保留了所有功能。。。版本2.3</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/191054#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 08 May 2008 14:18:20 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/191054</link>
        <guid>http://weiweichen1985.javaeye.com/blog/191054</guid>
      </item>
      <item>
        <title>输入时屏蔽特殊字符</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/189455" style="color:red;">http://weiweichen1985.javaeye.com/blog/189455</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">

&lt;script language="javascript" type="text/javascript">


var arr=new Array();
arr[0]=/[\`\~\!\@\#\$\%\^\&\*\(\)\+\\\]\[\}\{\'\;\:\"\/\.\,\>\&lt;\]\s\|\=\-\?]/g;
arr[1]=/[^\d]/g;


//屏蔽输入的特殊字符

function filtecharacter(obj, index) {
	obj.value = obj.value.replace(arr[index], "");
}


&lt;/script>
&lt;input type="text" name="name" maxlength="19" class="text"   onkeyup="filtecharacter(this,0)" />
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/189455#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 17:43:54 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/189455</link>
        <guid>http://weiweichen1985.javaeye.com/blog/189455</guid>
      </item>
      <item>
        <title>tomcat严重: Error filterStart</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/187654" style="color:red;">http://weiweichen1985.javaeye.com/blog/187654</a>&nbsp;
          发表时间: 2008年04月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          如果是连接到cvs是jar包的路径问题。。。。<br />删除从CVS导入的jar包，再导入本机上的jar包....
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/187654#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 28 Apr 2008 17:01:51 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/187654</link>
        <guid>http://weiweichen1985.javaeye.com/blog/187654</guid>
      </item>
      <item>
        <title>结合DWR获取远程URL数据</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/187569" style="color:red;">http://weiweichen1985.javaeye.com/blog/187569</a>&nbsp;
          发表时间: 2008年04月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
bean.java
package com.cw.entity;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class Bean {

	private String[] citys = new String[] { "杭州", "上海", "香港", "武汉", "南京" };

	public String[] getCitys() {
		return this.citys;
	}

	public String sendPost(String url) {
		String result = "";
		try {
			URL httpurl = new URL(url);
			HttpURLConnection httpConn = (HttpURLConnection) httpurl
					.openConnection();
			httpConn.setDoInput(true);
			BufferedReader in = new BufferedReader(new InputStreamReader(
					httpConn.getInputStream()));
			String line;
			while ((line = in.readLine()) != null) {
				result += line;
			}
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("没有结果！" + e);
		}
		return result;
	}

}
</pre><br /><br /><pre name="code" class="java">
index.jsp
&lt;%@ page language="java" pageEncoding="gbk"%>
&lt;%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&lt;html>
	&lt;head>
		&lt;base href="&lt;%=basePath%>">
		&lt;title>My JSP 'index.jsp' starting page&lt;/title>
		&lt;meta http-equiv="pragma" content="no-cache">
		&lt;meta http-equiv="cache-control" content="no-cache">
		&lt;meta http-equiv="expires" content="0">
		&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		&lt;meta http-equiv="description" content="This is my page">
		&lt;!--
	&lt;link rel="stylesheet" type="text/css" href="styles.css">
	-->
		&lt;script type="text/javascript" src="dwr/interface/bean.js">&lt;/script>
		&lt;script type="text/javascript" src="dwr/engine.js">&lt;/script>
		&lt;script type="text/javascript" src="dwr/util.js">&lt;/script>

		&lt;style type="text/css">
			.tips-loading {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: url(img/reg0.gif) lightyellow no-repeat 3px center; PADDING-BOTTOM: 1px; OVERFLOW: hidden; WIDTH: 300px; COLOR: #808080; TEXT-INDENT: 20px; LINE-HEIGHT: 16px; PADDING-TOP: 2px
}
.tips-pass {
	BACKGROUND: url(img/reg4.gif) #e9ffeb no-repeat 0px -2px; COLOR: #333
}
		&lt;/style>
	&lt;/head>
	&lt;body>
		&lt;div
			style="position:absolute; left: 14px; top: 49px; width: 968px; height: 70px; background:#CCCCCC">
			&lt;label style="position:absolute; left: 52px; top: 22px;">
				&lt;input type="text" name="url" size="50" value="http://www.baidu.com">
			&lt;/label>
			&lt;label
				style="position:absolute; left: 422px; top: 21px; width: 140px;">
				&lt;input name="Input" type="submit" value="获取内容" onClick="getData()">
			&lt;/label>
			&lt;div id="status" style="position:absolute; width:278px; left: 501px; top: 24px; height: 20px; background-color:#CCCC99">&lt;/div>
		&lt;/div>
		&lt;p>&nbsp;
			
		&lt;/p>
		&lt;textarea
			style="position: absolute; left: 13px; top: 125px; width: 968px; height: 419px;"
			id="showresult">&lt;/textarea>

		&lt;script type="text/javascript">
			 function $(id){
			 	return document.getElementById(id);
			 }
			 
			 function getData(){
			    $("status").className="tips-loading";
			    $("status").innerHTML="&nbsp;正在读取数据...";
			 	bean.sendPost(dwr.util.getValue("url"),function(data){
			 		$("showresult").value=data;
			 		$("status").className="tips-pass";
			 		$("status").innerHTML="&nbsp;&nbsp;读取完毕!";
			 	});
			 }
		&lt;/script>
	&lt;/body>
&lt;/html>
</pre><br /><br /><pre name="code" class="java">
dwr.xml
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

&lt;dwr>
	&lt;allow>
		&lt;create creator="new" javascript="bean">
			&lt;param name="class" value="com.cw.entity.Bean" />
			&lt;include method="getCitys" />
			&lt;include method="sendPost"/>
		&lt;/create>	 
	&lt;/allow>

&lt;/dwr>
</pre><br /><br /><pre name="code" class="java">
web.xml
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	&lt;servlet>
		&lt;servlet-name>dwr-invoker&lt;/servlet-name>
		&lt;!--  &lt;servlet-class>org.directwebremoting.servlet.DwrServlet&lt;/servlet-class>-->
		&lt;servlet-class>uk.ltd.getahead.dwr.DWRServlet&lt;/servlet-class>
		&lt;init-param>
			&lt;param-name>debug&lt;/param-name>
			&lt;param-value>false&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>activeReverseAjaxEnabled&lt;/param-name>
			&lt;param-value>true&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>
				initApplicationScopeCreatorsAtStartup
			&lt;/param-name>
			&lt;param-value>true&lt;/param-value>
		&lt;/init-param>
		&lt;init-param>
			&lt;param-name>maxWaitAfterWrite&lt;/param-name>
			&lt;param-value>500&lt;/param-value>
		&lt;/init-param>
		&lt;load-on-startup>1&lt;/load-on-startup>
	&lt;/servlet>

	&lt;servlet-mapping>
		&lt;servlet-name>dwr-invoker&lt;/servlet-name>
		&lt;url-pattern>/dwr/*&lt;/url-pattern>
	&lt;/servlet-mapping>

	&lt;welcome-file-list>
		&lt;welcome-file>index.jsp&lt;/welcome-file>
	&lt;/welcome-file-list>
&lt;/web-app>
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/187569#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 28 Apr 2008 15:28:04 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/187569</link>
        <guid>http://weiweichen1985.javaeye.com/blog/187569</guid>
      </item>
      <item>
        <title>多文件上传</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/187450" style="color:red;">http://weiweichen1985.javaeye.com/blog/187450</a>&nbsp;
          发表时间: 2008年04月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">
replyemail.jsp
&lt;%@ page language="java" pageEncoding="gbk"%>
&lt;%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
&lt;%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
&lt;%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
&lt;%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
&lt;%@ taglib uri="/WEB-INF/app.tld" prefix="app"%>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
&lt;html xmlns="http://www.w3.org/1999/xhtml">
	&lt;head>
		&lt;meta http-equiv="Content-Type" content="text/html; charset=gbk" />
		&lt;title>无标题文档&lt;/title>

		&lt;script language="javascript" type="text/javascript">
	
	var count=2;

	function  addfujian(){
	
                            if(count>6){
			window.alert("最多只能上传6个附件");
			return;
		}
		var tb=document.getElementById("tbody");
		var newTR=document.createElement("tr");
		var td1=document.createElement("td");
		td1.setAttribute("align","center");
		td1.setAttribute("innerText","附件"+count+":");
		
		var td2=document.createElement("td");
		td2.setAttribute("align","left");
		var inputFile=document.createElement("input");		
		inputFile.setAttribute("type","file");
		inputFile.setAttribute("name","attachment["+(count-1)+"].file");
		inputFile.setAttribute("class","input_button");
		//window.alert(inputFile.name);
		td2.appendChild(inputFile);
		
		//删除按钮
		var delBtn=document.createElement("input");
		delBtn.setAttribute("type","button");
		delBtn.setAttribute("value","删除");
		delBtn.onclick=function(){
		    tb.removeChild(event.srcElement.parentElement.parentElement);
		    count--;
		}
		td2.appendChild(delBtn);

		newTR.appendChild(td1);
		newTR.appendChild(td2);
		tb.appendChild(newTR);	
		count++;
	}
	
	 function saveit() {
	 	onlineEditor.save();
	 
		var theform=document.forms[0];
		if(check()) {
	  		theform.submit();
	  	}
	  	return false;
	}
	
	function $(id){
		return document.getElementById(id);	
	}
	
	function check(){
		var regEmail=/[\w\.\_]+[@]{1}[\w]+[.]{1}[\w]+/;
		
		var receiveEmail=document.getElementsByName("receiveEmail")[0].value;
		var span_receiveEmail=$("span_receiveEmail");
		if(!regEmail.test(receiveEmail)){
			span_receiveEmail.innerHTML="收件人邮箱格式错误!";
			span_receiveEmail.className="STYLE1";
			return false;
		}
		else{
		    if(!document.getElementsByName("receiveEmail")[0].readOnly){
				span_receiveEmail.innerHTML="输入正确!";
				span_receiveEmail.className="STYLE2";
			}
		}
		 
		return true;
	}
	
	function focuss(){
		var span_receiveEmail=$("span_receiveEmail");
		span_receiveEmail.innerHTML="请输入收件人邮箱地址!";
		span_receiveEmail.className="STYLE2";
		
	}
	
	
	
	
&lt;/script>

		&lt;script language="javascript" type="text/javascript"
			src="js/validator.js">&lt;/script>
		&lt;link href="css/style.css" rel="stylesheet" type="text/css" />
		&lt;style type="text/css">
&lt;!--
.STYLE1 {color: #FF0000}
.STYLE2 {color: blue}
-->
&lt;/style>
	&lt;/head>

	&lt;body>
		&lt;div>
			&lt;html:messages id="m" name="msg" property="nullreceiveEmail">${m}&lt;/html:messages>
			&lt;html:messages id="m" name="msg" property="errorreceiveEmail">${m}&lt;/html:messages>
			&lt;html:messages id="m" name="msg" property="nullcontents">${m}&lt;/html:messages>
			&lt;html:messages id="m" name="msg" property="contentsOverLength">${m}&lt;/html:messages>
		&lt;/div>
		&lt;c:set value="${param.s}" var="ss">&lt;/c:set>
		&lt;form action="/LhCard/GeRen/mEmailQueue.do?method=sendEmail"
			enctype="multipart/form-data" method="post"
			onsubmit="return saveit();" name="upload_form">
			&lt;table width="100%" border="0" cellpadding="0" cellspacing="1"
				id="tb">
				&lt;tbody id="tbody">
					&lt;tr>
						&lt;td colspan="2" class="td_left">
							&lt;input type="submit" class="input_button" value="发送" />
							&lt;input type="button" class="input_button" value="添加附件"
								onclick="addfujian()" />
							&lt;span class="STYLE1">最多只能上传6个附件，大小不超过10MB&lt;/span>
						&lt;/td>
					&lt;/tr>
					&lt;tr style="display: none">
						&lt;td>
							发件人：
						&lt;/td>
						&lt;td>
							&lt;input name="sendEmail" type="text" class="text"
								onfocus="this.className='bor'" onblur="this.className='text'"
								size="31" value="${sessionScope.user.email }" />
						&lt;/td>
					&lt;/tr>
					&lt;tr>
						&lt;td>
							收件人：
						&lt;/td>
						&lt;td class="td_left">
							&lt;logic:notEqual value="send" name="ss">
								&lt;input name="receiveEmail" type="text" class="text"
									id="receiveEmail" size="31" value="${requestScope.mEmailQueueForm.receiveEmail}"
									readonly="readonly" />
								&lt;span class="STYLE1" id="span_receiveEmail">&lt;/span>
							&lt;/logic:notEqual>
							&lt;logic:equal value="send" name="ss">
								&lt;input name="receiveEmail" type="text" class="text"
									id="receiveEmail" onfocus="this.className='bor';focuss();"
									size="31" maxlength="40"
									onblur="this.className='text';check();"
									value="${requestScope.mEmailQueueForm.receiveEmail}" />
								&lt;span class="STYLE1" id="span_receiveEmail">&lt;/span>
							&lt;/logic:equal>

						&lt;/td>
					&lt;/tr>
					&lt;tr>
						&lt;td>
							主题：
						&lt;/td>
						&lt;td class="td_left">
							&lt;input name="title" type="text" class="text"
								onfocus="this.className='bor'" onblur="this.className='text'"
								size="31" maxlength="40"
								value="${requestScope.mEmailQueueForm.title}" />
							&lt;span class="STYLE1" id="span_title">&lt;/span>
						&lt;/td>
					&lt;/tr>
					&lt;tr>
						&lt;td>
							附件：
						&lt;/td>
						&lt;td class="td_left">
							&lt;input name="attachment[0].file" type="file" class="text" />
						&lt;/td>
					&lt;/tr>

				&lt;/tbody>
			&lt;/table>
			&lt;textarea name="contents" style="display:none">${requestScope.mEmailQueueForm.contents }&lt;/textarea>
			&lt;iframe src="editarea/html/htmleditor.html" id="onlineEditor"
				width="100%" height="408">&lt;/iframe>

			&lt;logic:equal value="send" name="ss">
				&lt;input type="hidden" name="type" value="00" />
			&lt;/logic:equal>
			&lt;logic:notEqual value="send" name="ss">
				&lt;input type="hidden" name="type" value="${ss}" />
			&lt;/logic:notEqual>

		&lt;/form>
	&lt;/body>
&lt;/html></pre><br /><br /><pre name="code" class="java">
UploadFile.java
package com.lhcard.entity;

import org.apache.struts.upload.FormFile;

public class UploadFile {
	private FormFile file;

	public FormFile getFile() {
		return file;
	}

	public void setFile(FormFile file) {
		this.file = file;
	}

}
</pre><br /><br /><pre name="code" class="java">
MEmailQueueForm.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.lhcard.struts.form;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import com.lhcard.entity.UploadFile;

/**
 * MyEclipse Struts Creation date: 04-18-2008
 * 
 * XDoclet definition:
 * 
 * @struts.form name="mEmailQueueForm"
 */
public class MEmailQueueForm extends BaseForm {
	/*
	 * Generated Methods
	 */

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Method validate
	 * 
	 * @param mapping
	 * @param request
	 * @return ActionErrors
	 */
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		// TODO Auto-generated method stub
		return null;
	}

	/**
	 * Method reset
	 * 
	 * @param mapping
	 * @param request
	 */
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		// TODO Auto-generated method stub
	}

	private List&lt;UploadFile> myFiles = new ArrayList&lt;UploadFile>();

	public MEmailQueueForm() {
		// 为了能够在页面初始显示一个file
		myFiles.add(new UploadFile());
	}

	private Integer id;

	private String receiveEmail;

	private String sendEmail;

	private String title;

	private String contents;

	private String operator;

	private Date addDate;

	private String sendName;

	// 标记是发送(00)还是回复(非00)
	private String type;

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public Date getAddDate() {
		return addDate;
	}

	public void setAddDate(Date addDate) {
		this.addDate = addDate;
	}

	public String getOperator() {
		return operator;
	}

	public void setOperator(String operator) {
		this.operator = operator;
	}

	public String getContents() {
		return contents;
	}

	public void setContents(String contents) {
		this.contents = contents;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getReceiveEmail() {
		return receiveEmail;
	}

	public void setReceiveEmail(String receiveEmail) {
		this.receiveEmail = receiveEmail;
	}

	public String getSendEmail() {
		return sendEmail;
	}

	public void setSendEmail(String sendEmail) {
		this.sendEmail = sendEmail;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getSendName() {
		return sendName;
	}

	public void setSendName(String sendName) {
		this.sendName = sendName;
	}

	public List&lt;UploadFile> getMyFiles() {
		return myFiles;
	}

	public void setMyFiles(List&lt;UploadFile> myFiles) {
		this.myFiles = myFiles;
	}

	// 注意这个方法的定义
	public UploadFile getAttachment(int index) {
		System.out.println("in the getAttachment method====" + index + ">>>>>");
		int size = myFiles.size();
		if (index > size) {
			for (int i = size - 1; i &lt; index; i++) {
				myFiles.add(new UploadFile());
			}
		} else if (index > size - 1) {
			myFiles.add(new UploadFile());
		}
		return (UploadFile) myFiles.get(index);
	}

}
</pre><br /><br /><pre name="code" class="java">
MEmailQueueAction.java

public ActionForward sendEmail(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {

		HttpSession session = request.getSession();
		Object obj = session.getAttribute("user");
		OUsers ousers = (OUsers)session.getAttribute("YunYingUser");
		if (obj == null && ousers == null){
				return mapping.findForward("globalLogin");
		}
		MEmailQueueForm frm = (MEmailQueueForm) form;
		ActionForward af = this.checkForm(mapping, frm, request);
		if (af != null)
			return af;

		UHoldCard user = (UHoldCard) obj;
		if (user == null) {
			user = new UHoldCard();
		}
		if (ousers != null) {
			user.setName(ousers.getUserName());
		}
		String strResult = memailqueueDao.saveWithattachment(frm, user,
				this.servlet.getServletContext().getRealPath("/"));
		ActionMessages messages = new ActionMessages();
		if ("00".equals(strResult)) {
			com.lhcard.common.ForwardOperation.putinfo(session, "邮件发送成功",
					"/LhCard/GeRen/mEmailQueue.do?method=loginornot", "返回");

			return mapping.findForward("success");
		} else if ("01".equals(strResult)) {
			messages.add("oversize", new ActionMessage(
					"geren.replyemail.error.oversize"));
			request.setAttribute("msg", messages);
			return mapping.findForward("replyemail");
		} else if ("02".equals(strResult)) {
			com.lhcard.common.ForwardOperation.putinfo(session,
					"邮件发送成功，您上传的附件中包含exe文件，为了系统的安全已自动过滤掉",
					"/LhCard/GeRen/mEmailQueue.do?method=loginornot", "返回");

			return mapping.findForward("success");
		} else if ("03".equals(strResult)) {
			com.lhcard.common.ForwardOperation.putinfo(session, "邮件发送失败",
					"../GeRen/replyemail.jsp", "重新发送邮件");
			return mapping.findForward("fail");
		}
		return null;
	}
</pre><br /><br /><pre name="code" class="java">
MEmailQueueDAO.java
	/**
	 * 保存邮件内容及附件
	 * 
	 * @author 陈伟
	 * @date 2008-4-18
	 * @param instance
	 * @param config
	 * @param request
	 * @param response
	 * @return String
	 *         &lt;p>
	 *         "00":正常执行
	 *         &lt;p>
	 *         "01":大小超过限制
	 *         &lt;p>
	 *         "02":附件中有exe文件(系统自动屏蔽掉)
	 *         &lt;p>
	 *         "03":出现错误
	 */
	public String saveWithattachment(MEmailQueueForm frm, UHoldCard user,
			String context) {
		log.debug("saving MEmailQuseue instance");

		Session ses = null;
		Transaction tran = null;
		int hasExe = 0; // 附件中是否有exe文件
		try {
			ses = this.getSession();
			tran = ses.beginTransaction();

			MEmailQueue instance = new MEmailQueue();
			instance.setSendEmail(frm.getSendEmail());
			instance.setReceiveEmail(frm.getReceiveEmail());
			if (frm.getTitle() == null || "".equals(frm.getTitle())) {
				instance.setTitle("来自" + frm.getSendEmail() + "的邮件");
			} else
				instance.setTitle(frm.getTitle());
			instance.setContents(frm.getContents());
			instance.setAddDate(DateTime.switchStringToDate1(DateTime
					.getCurrentDate5()));
			instance.setOperator(user.getName());
			instance.setSendName(user.getName());
			// if (frm.getReceiveEmail() != null)
			ses.save(instance); // 保存网外邮件队列表

			List myFiles = frm.getMyFiles();
			java.io.InputStream is = null;
			java.io.OutputStream os = null;
			StringBuffer filename = new StringBuffer("");

			if (myFiles != null && myFiles.size() > 0) {

				int sizeCount = 0;
				for (int i = 0; i &lt; myFiles.size(); i++) {
					UploadFile uploadFile = (UploadFile) myFiles.get(i);
					FormFile formfile = uploadFile.getFile();
					if (formfile != null && formfile.getFileSize() > 0) {
						sizeCount += formfile.getFileSize();
					}
				}

				if (sizeCount > 10000000) { // 大小超过限制10MB
					return "01";
				}

				for (int i = 0; i &lt; myFiles.size(); i++) {
					filename = new StringBuffer("");
					UploadFile uploadFile = (UploadFile) myFiles.get(i);
					FormFile formfile = uploadFile.getFile();
					if (formfile != null && formfile.getFileSize() > 0) {
						try {
							is = formfile.getInputStream();

							String[] arr = formfile.getFileName().split("\\.");
							String ext = "";
							if (arr.length > 1)
								ext = arr[1];
							if (!"exe".equals(ext)) { // 附件格式后缀不是exe的
								filename.append(new MD5().toMD5(formfile
										.getFileName()
										+ DateTime.getCurrentDate5())
										+ "." + ext);
								os = new FileOutputStream(context
										+ "/GeRen/upload/" + filename);

								byte[] bytes = new byte[8192];
								while ((is.read(bytes, 0, 8192)) != -1) {
									os.write(bytes, 0, 8192);
								}

								MAttachment attachment = new MAttachment();
								attachment.setMHistoryEmail(null);
								attachment.setMEmailList(null);
								// instance.getMAttachments().add(attachment);
								attachment.setMEmailQueue(instance);
								attachment.setTitle("");
								attachment.setAttachmentUrl("/GeRen/upload/"
										+ filename);
								System.out
										.println(("文件长度====" + "/GeRen/upload/" + filename)
												.length());
								ses.save(attachment);
							} else { // 附件格式后缀是exe的
								hasExe++;
							}
						} catch (FileNotFoundException e) {
							e.printStackTrace();
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
				}

				if (os != null)
					try {
						os.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				if (is != null)
					try {
						is.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
			}
			tran.commit();
		} catch (RuntimeException re) {
			re.printStackTrace();
			if (tran != null)
				tran.rollback();
			return "03";
		}
		if (hasExe != 0)
			return "02";
		return "00";
	}
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/187450#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 28 Apr 2008 10:31:31 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/187450</link>
        <guid>http://weiweichen1985.javaeye.com/blog/187450</guid>
      </item>
      <item>
        <title>swing(一)</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/187113" style="color:red;">http://weiweichen1985.javaeye.com/blog/187113</a>&nbsp;
          发表时间: 2008年04月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">/**
 * 
 */
package com.cw.swing;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class LoginFrame extends JFrame{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		javax.swing.JFrame jframe = new javax.swing.JFrame();
		jframe.setTitle("登录窗口");
		jframe.setSize(400, 400);

		// 获取工具箱
		Toolkit toolkit = Toolkit.getDefaultToolkit();

		// 获取Dimension对象，包含屏幕信息
		Dimension dimenson = toolkit.getScreenSize();

		// 让frame居中显示
		jframe.setLocation((dimenson.width - jframe.getWidth()) / 2,
				(dimenson.height - jframe.getHeight()) / 2);
		jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

		jframe.setLayout(new BorderLayout());

		JButton btn = new JButton();
		btn.setName("login");
		btn.setText("登录");
		LoginFrame lf = new LoginFrame();
		btn.addActionListener(lf.new btnClass(lf));
		
		JLabel lblName=new JLabel();
		lblName.setName("lblName");
		lblName.setText("用户名:");
		
		 
		
		JLabel lblPass=new JLabel();
		lblPass.setName("lblPass");
		lblPass.setText("密码:");
		
		//JTextField txtName=new JTextField();
		
		JTextField   txtName=new JTextField(20);
		txtName.setName("txtName");
		
		JTextField   txtPass=new JTextField(20);
		txtPass.setName("txtPass");
		//text.setDocument(new NumberLenghtLimitedDmt(7));

		
		
		
		//txtName.setVisible(true);
		//txtName.setName("txtName");

		JPanel panel = new JPanel();
		panel.add(lblName);
		panel.add(txtName);
		 
		panel.add(lblPass);
		panel.add(txtPass);
		//panel.add("asasas",panel);
		panel.add(btn);
		jframe.getContentPane().add(panel);

		jframe.setResizable(false);
		jframe.setVisible(true);

	}

	class btnClass implements ActionListener {

		LoginFrame lf;

		public btnClass(LoginFrame lf) {
			this.lf = lf;
		}

		public void actionPerformed(ActionEvent event) {
			JOptionPane.showMessageDialog(null, "aaa");
			//lf.setVisible(false);
			
			//Main main=new Main();
			//main.setVisible(true);
		}

	}

}</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/187113#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 26 Apr 2008 16:47:51 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/187113</link>
        <guid>http://weiweichen1985.javaeye.com/blog/187113</guid>
      </item>
      <item>
        <title>IE浏览器愚弄了我。。。很郁闷</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/186768" style="color:red;">http://weiweichen1985.javaeye.com/blog/186768</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          写了下面这样一个JS方法，要做一个无刷新效果，上面加了一行注释<br />//发送请求，传递省ID获取下面所有的市<br />function sendProId(obj) {<br />	var o = obj;<br />	var id = o.value;<br />	if (id == "0") {<br />		var city = document.getElementById("city");<br />		city.innerHTML = "";<br />		return;<br />	}<br />	sendAjaxRequest("/LhCard/GeRen/uarea.do?method=getcity", "id", id, showcities);<br />}<br /><br />可是调用的时候，一直报找不到对象，当然这个方法所在的JS在页面中也引用了。。。<br />找啊找啊。。。搞了一个小时不知道问题出在哪。。。<br />没办法，最后开启脚本调试，用VS2008调试，<br />一看，乖乖，不得了。。。<br />浏览器把上面那个方法解析成下面这样<br />//发送请求，传递省ID获取下面所有的市function sendProId(obj) {<br />	var o = obj;<br />	var id = o.value;<br />	if (id == "0") {<br />		var city = document.getElementById("city");<br />		city.innerHTML = "";<br />		return;<br />	}<br />	sendAjaxRequest("/LhCard/GeRen/uarea.do?method=getcity", "id", id, showcities);<br />}<br /><br />哎，怪不得找不到对象。。。<br />最后加一个空行搞定。。。<br />//发送请求，传递省ID获取下面所有的市<br /><br />function sendProId(obj) {<br />	var o = obj;<br />	var id = o.value;<br />	if (id == "0") {<br />		var city = document.getElementById("city");<br />		city.innerHTML = "";<br />		return;<br />	}<br />	sendAjaxRequest("/LhCard/GeRen/uarea.do?method=getcity", "id", id, showcities);<br />}<br /><br />郁闷。。。
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/186768#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 14:34:46 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/186768</link>
        <guid>http://weiweichen1985.javaeye.com/blog/186768</guid>
      </item>
      <item>
        <title>js实现的年月日三级联动</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/186619" style="color:red;">http://weiweichen1985.javaeye.com/blog/186619</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">年默认加载到距离当前100年的年份，同时根据月份是否是闰年自动加载天数。。。

&lt;table cellspacing="0" cellpadding="6" border="1">
&lt;tr>
					&lt;td>
						出生日期：
					&lt;/td>
					&lt;td bgcolor="#FFFFFF" class="td_left">
						&lt;select name="year" onchange="getDates()">
							&lt;script language="javascript" type="text/javascript">
							
							
		
		 					
							
          var date=new Date();
		  var year=date.getYear();
//加载距离当前年份100年的所有年份。。。
		  for(var i=year;i>=year-100;i--){
		  	     document.write("&lt;option value="+i+">"+i+"&lt;/option>");
		  }
		  
		  //创建option元素，并追加到指定select元素
		  function  append(o,v){
		  	  var option=document.createElement("option");
			  option.value=v;
			  option.innerText=v;
			  o.appendChild(option);
		  }
		  //根据年月的值来加载日，判断了月份是否是闰年。。。
		  function  getDates(){
		  	   
		  	   var y=document.getElementsByName("year")[0].value;
			   var m=document.getElementsByName("month")[0].value;
			   
			   var day=document.getElementsByName("day")[0];
			   day.innerHTML="";
			   
			   if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12){
			   		for(var j=1;j&lt;=31;j++){
			   				append(day,j);
					}
			   }
			   else if(m==4 || m==6 || m==9 || m==11){
			   	    for(var j=1;j&lt;=30;j++){
			   			    append(day,j);
					}
			   }
			   else if(m==2){
					var flag=true;
					flag=y%4==0&&y%100!=0||y%400==0;
			   		if(flag){
						 for(var j=1;j&lt;=29;j++){
						   append(day,j);
						 }
					}
					else{
						 for(var j=1;j&lt;=28;j++){
			   				append(day,j);
						 }
					}
			   }
			   
		  }
&lt;/script>
						&lt;/select>
						年
						&lt;select name="month" onchange="getDates()">
							&lt;script language="javascript" type="text/javascript">
          
		  for(var i=1;i&lt;=12;i++){
		  	    document.write("&lt;option value="+i+">"+i+"&lt;/option>");
		  }
&lt;/script>
						&lt;/select>
						月
						&lt;select name="day">
							&lt;script language="javascript" type="text/javascript">
          
		  for(var i=1;i&lt;=31;i++){
		  	    document.write("&lt;option value="+i+">"+i+"&lt;/option>");
		  }
&lt;/script>
						&lt;/select>
						日
					&lt;/td>
				&lt;/tr>
&lt;/table></pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/186619#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 09:52:01 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/186619</link>
        <guid>http://weiweichen1985.javaeye.com/blog/186619</guid>
      </item>
      <item>
        <title>java mail</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/186604" style="color:red;">http://weiweichen1985.javaeye.com/blog/186604</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          2005年以后注册的用户被锁定了。。。。需要升级。。。<br /><pre name="code" class="java">import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Test {

	/**
	 * @param args
	 * @throws MessagingException
	 */
	public static void main(String[] args) {
		try {
			Properties props = new Properties();
			props.put("mail.smtp.host", "smtp.163.com");
			props.put("mail.smtp.auth", "true");
			Session s = Session.getDefaultInstance(props);
			s.setDebug(true);

			MimeMessage message = new MimeMessage(s);
			InternetAddress from = new InternetAddress("wyy_wwc@163.com");
			try {
				message.setFrom(from);
			} catch (MessagingException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			InternetAddress[] to = new InternetAddress[1];
			to[0] = new InternetAddress("wwc_wyy@163.com");

			message.setRecipients(Message.RecipientType.TO, to);
			message.setSubject("错误报告" + new Date());
			message.setText("how are you");
			// message.setContent("how are you", "text/plain");
			message.saveChanges();

			// 现在的smtp服务器基本都需要smtp验证
			Transport transport = s.getTransport("smtp");
			transport.connect("smtp.163.com", "wyy_wwc@163.com", "5211314_wyy");
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
			System.out.println("发送成功!!!");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/186604#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 09:23:01 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/186604</link>
        <guid>http://weiweichen1985.javaeye.com/blog/186604</guid>
      </item>
      <item>
        <title>jstl格式化日期,数字</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/186375" style="color:red;">http://weiweichen1985.javaeye.com/blog/186375</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">项目中要格式化日期，到网上搜了下。。。
用&lt;fmt:formatDate value="${ml.sendDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
添加标签引用：&lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>对应tld文件就是/WEB-INF/fmt-1_0-rt.tld
可是就是报错。。。
郁闷了半天。。。
最后发现问题出在标签引用上。。。
换了下面两个引用都可以。。。
&lt;%@ taglib uri="/WEB-INF/fmt-1_0-rt.tld" prefix="fmt"%>
对应uri:http://java.sun.com/jstl/fmt_rt
还有
&lt;%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt"%>
对应uri:http://java.sun.com/jsp/jstl/fmt

&lt;fmt:formatNumber pattern=".00" value="11">&lt;/fmt:formatNumber>
输出：11.00
&lt;fmt:formatNumber pattern="#" value="11.23">&lt;/fmt:formatNumber>
输出：11
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/186375#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 14:20:58 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/186375</link>
        <guid>http://weiweichen1985.javaeye.com/blog/186375</guid>
      </item>
      <item>
        <title>hibernate下的根据日期查询</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/186284" style="color:red;">http://weiweichen1985.javaeye.com/blog/186284</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">项目中生成订单要用年月日6位字符加5位的一个流水号，先要到订单流水表中去查询当天是否有下订单，如果有流水号就在加1，如果没有就随机生成一个，根据日期去查询，可用日期字符串，hibernate会自动转化。。。

其中，currentDate是date数据类型...

Session ses = dao.getSession();
  try {
   Query query = ses
     .createQuery("select max(usn.serialNumber) from USerialNumber usn where usn.currentDate='"
       + DateTime.getCurrentDate()
       + "'");
   List list = query.list();
   if (list == null || list.size() == 0)
    System.out.println("没有找到相关记录");
   else {
    String maxNum=list.get(0).toString();
    System.out.println("找到记录：最大的流水号===="+maxNum);
      //+ usn.getSerialNumber().intValue());
   }
  } catch (HibernateException e) {
   e.printStackTrace();
  } catch (Exception e) {
   e.printStackTrace();
  }
</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/186284#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 10:40:23 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/186284</link>
        <guid>http://weiweichen1985.javaeye.com/blog/186284</guid>
      </item>
      <item>
        <title>删除操作之后重定向</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/185452" style="color:red;">http://weiweichen1985.javaeye.com/blog/185452</a>&nbsp;
          发表时间: 2008年04月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          删除某些数据后，为了更好的用户体验感，可能无需提示成功，直接跳转后重新显示删除后剩余的数据，此时可以将一次请求定义成一个转向。。。<br />&lt;forward name="back"<br />			path="/GeRen/messagelist.do?method=loginornot" redirect="false"><br />		&lt;/forward>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/185452#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Apr 2008 14:18:52 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/185452</link>
        <guid>http://weiweichen1985.javaeye.com/blog/185452</guid>
      </item>
      <item>
        <title>A开头的对象与方法</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/185249" style="color:red;">http://weiweichen1985.javaeye.com/blog/185249</a>&nbsp;
          发表时间: 2008年04月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">&lt;html>
&lt;title>A开头的对象与方法&lt;/title>
&lt;style>
	.selected {
	FONT-SIZE: 14px; MARGIN: 0px; COLOR: #333; LINE-HEIGHT: 30px; PADDING-TOP: 15px; TEXT-ALIGN: left
}
&lt;/style>
&lt;script type="text/javascript" src="jquery1.2.3.js">&lt;/script>


&lt;script language="javascript">
$(function(){


//把与表达式匹配的元素添加到jQuery对象中
var o=$("p").add("span")
;

//window.alert(o.text());


//把一个或多个元素添加到匹配的元素集合中。
var o1=$("p").add([document.getElementById("a"),document.getElementById("b")]);
//window.alert(o1.text());


//为每个匹配的元素添加指定的类名
$("p").addClass("selected");

//在每个匹配的元素之后插入内容
$("p").after("&lt;h3>Are you ok?&lt;/h3>");



//使用HTTP请求（XMLHttpRequest）载入一个远程页面,即发送请求
//这是jQuery的低级AJAX实现。要查看高级抽象
//载入并执行一个JavaScript文件
$.ajax({
  type: "GET",
  url: "test.js",
  dataType: "script"
});


//当AJAX语法完成的时候所做的操作
//$("#d").ajaxComplete(function(request, settings){
//  $(this).append("&lt;ul>&lt;li>Request Complete.&lt;/li>&lt;/ul>");
//});


//当AJAX完成失败的时候所做的操作
$("#d").ajaxError(function(request, settings){
  $(this).append("&lt;ul>&lt;li>Error requesting page " + settings.url + "&lt;/li>&lt;ul>");
});

//在发送请求之前所做的操作
$("#d").ajaxSend(function(request, settings){
  $(this).append("&lt;ul>&lt;li>Starting request at " + settings.url + "&lt;/li>&lt;/ul>");
});


//当AJAX请求开始的时候所做的操作
$("#dd").ajaxStart(function(){
  $(this).show();
});

//当请求结束的时候所做的操作
$("#dd").ajaxStop(function(){
  $(this).hide();
});

//当语法成功的时候所做的操作
$("#d").ajaxSuccess(function(request, settings){
  $(this).append("&lt;ul>&lt;li>Successful Request!&lt;/li>&lt;/ul>");
});

//用于创建自定义动画的函数1
//$("p").animate({
// height: 'toggle', opacity: 'toggle'
//}, "slow");

//用于创建自定义动画的函数2
$("p").animate({
  left: 50, opacity: 'show'
}, 500);


//向每个匹配的元素内部追加内容
$("#append").append("&lt;h4>I would like to say!&lt;/h4>");

//把所有匹配的元素追加到另一个、指定的元素元素集合中,将PP追加到append
$("#pp").appendTo("#append");

//取得第一个匹配元素的属性值
var src=$("img").attr("src");
//window.alert(src);


//将一个“名/值”形式的对象设置为所有匹配元素的属性
//$("img").attr({src:"self.jpg",alt:"chenwei"});


//为所有匹配的元素设置一个属性值
//$("img").attr("src","huahua.jpg");


//为所有匹配的元素设置一个计算的属性值
//$("img").attr("title", function() { return this.src });

}
);



function changephoto(){
		var src1=$("#img1").attr("src");
		var src2=$("#img3").attr("src");
		$("#img1").attr("src",src2);
		$("#img2").attr("src",src2);
		$("#img3").attr("src",src1);
		$("#img4").attr("src",src1);
}



&lt;/script>
&lt;body>
&lt;p>Hello&lt;/p>&lt;span id="a">WORLD!&lt;/span>&lt;span id="b">world!&lt;/span>
&lt;div id="d">&lt;/div>
&lt;div id="dd" style="display:none">
	&lt;ul>
		&lt;li>one&lt;/li>
		&lt;li>two&lt;/li>
	&lt;/ul>
&lt;/div>
&lt;span id="pp">appendTo------------------&lt;/span>[[[[[[[[
&lt;div id="append">]]]]]]]]]]]]]]]]]]]]]]]]]]]]&lt;/div>

&lt;table border="1" cellspacing="6" cellpadding="0">
&lt;tr>
&lt;td>
&lt;img src="huahua.jpg" id="img1"/>
&lt;/td>
&lt;td>
&lt;img src="huahua.jpg" id="img2">
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;img src="self.jpg" id="img3"/>
&lt;/td>
&lt;td>
&lt;img src="self.jpg" id="img4"/>
&lt;/td>
&lt;/tr>
&lt;tr>&lt;td colspan="2">
	&lt;input type="button" value="将两行照片交换" onclick="changephoto();"/>
&lt;/td>&lt;/tr>
&lt;/table>
&lt;/body>
&lt;/html>

</pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/185249#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Apr 2008 09:16:49 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/185249</link>
        <guid>http://weiweichen1985.javaeye.com/blog/185249</guid>
      </item>
      <item>
        <title>$与B开头的对象与方法</title>
        <author>weiweichen1985</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://weiweichen1985.javaeye.com">weiweichen1985</a>&nbsp;
          链接：<a href="http://weiweichen1985.javaeye.com/blog/185246" style="color:red;">http://weiweichen1985.javaeye.com/blog/185246</a>&nbsp;
          发表时间: 2008年04月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">&lt;html>
&lt;title>$与B开头的对象与方法&lt;/title>
&lt;script type="text/javascript" src="jquery1.2.3.js">&lt;/script>


&lt;script language="javascript">
//         $(document).ready(function(){
//	$("&lt;font color=\"red\">这是动态添加的内容&lt;/font>").appendTo("#divObj");
//	var t=$(document).find("div>p");
//	//$(document.body).background( "black" );
//});


//$();是$(document);的简写方式
$(function(){
$("&lt;font color=\"red\">这是动态添加的内容&lt;/font>").appendTo("#divObj");
var div=$("div");
var t=$(div).find("p");

var t1=$("div>p");

//获取所有的P元素，然后在前面插入指定参数的内容
$("p").before("&lt;b>Hello World!!!&lt;/b>");

//在ID为ddd的层绑定click事件
$("#ddd").bind("click",function(){
	window.alert($(this).text());
});

//text方法返回对象的内部文本，非HTML
var ddd_innerHTML=$("#ddd").text();


//为ID为ddd的层注册事件
$("#ddd").mouseover(function(){
	window.alert("鼠标移过层");
});


//$.browser获取用户代理标签,判断是否是MSIE（TRUE OR FALSE）
var ismsie=$.browser.msie;



});
&lt;/script>
&lt;body>
&lt;div id="divObj">&lt;/div>
&lt;div id="ddd" style="background:#D2D3D4;">&lt;font color="blue">窗外的麻雀在电线杆上&lt;/font>&lt;/div>
&lt;p>one&lt;/p>
&lt;/body>
&lt;/html></pre>
          <br/>
          <span style="color:red;">
            <a href="http://weiweichen1985.javaeye.com/blog/185246#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Apr 2008 09:14:45 +0800</pubDate>
        <link>http://weiweichen1985.javaeye.com/blog/185246</link>
        <guid>http://weiweichen1985.javaeye.com/blog/185246</guid>
      </item>
  </channel>
</rss>