﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-jsongBlog</title><link>http://www.blogjava.net/jsong/</link><description>jsongBlog</description><language>zh-cn</language><lastBuildDate>Tue, 09 Jun 2026 20:07:36 GMT</lastBuildDate><pubDate>Tue, 09 Jun 2026 20:07:36 GMT</pubDate><ttl>60</ttl><item><title>ibates</title><link>http://www.blogjava.net/jsong/archive/2008/07/17/215534.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 17 Jul 2008 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2008/07/17/215534.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/215534.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2008/07/17/215534.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/215534.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/215534.html</trackback:ping><description><![CDATA[ibates和Hibernate差不躲 都是一个ORM的实现&nbsp; 它主要是要程序员手动的取编写SQL语句，而不是和Hibernate一样，靠框架自动动态生成SQL语句。<br />
需要下载3个ibates的jar包 分别是ibatis-2.3.0.677.jar, ibatis-common-2.jar, ibatis-sqlmap.jar&nbsp; 把这个包复制到项目下的LIB下面<br />
写一个POJO 实体bean 实现序列化接口<br />
public class Tmac implements Serializable {
<p>&nbsp; public Integer id;<br />
&nbsp; <br />
&nbsp; public String name;</p>
<p>&nbsp;public String getName() {<br />
&nbsp;&nbsp;return name;<br />
&nbsp;}</p>
<p>&nbsp;public void setName(String name) {<br />
&nbsp;&nbsp;this.name = name;<br />
&nbsp;}</p>
<p>&nbsp;public Integer getId() {<br />
&nbsp;&nbsp;return id;<br />
&nbsp;}</p>
<p>&nbsp;public void setId(Integer id) {<br />
&nbsp;&nbsp;this.id = id;<br />
&nbsp;}<br />
}<br />
然后新建一个tmac.xml跟Tmac.java映射起来<br />
&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;<br />
&lt;!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd" &gt;<br />
&lt;sqlMap namespace="Tmac"&gt;<br />
&nbsp;&lt;typeAlias alias="Tmac" type="enpty.Tmac" /&gt;<br />
&nbsp;<br />
&nbsp;&lt;resultMap id="Result" class="Tmac"&gt;<br />
&nbsp;&nbsp;&lt;result property="id" column="id"/&gt;<br />
&nbsp;&nbsp;&lt;result property="name" column="name"/&gt;<br />
&nbsp;&nbsp;&lt;/resultMap&gt;</p>
<p>&nbsp;&lt;insert id = "insertCust" parameterClass="Tmac"&gt;<br />
&nbsp;&nbsp;&nbsp; INSERT INTO tmac VALUES(#id#,#name#)<br />
&nbsp;&lt;/insert&gt;<br />
&lt;/sqlMap&gt;</p>
<p>在新建一个sql-map-config.xml<br />
&lt;?xml version="1.0" encoding="UTF-8" ?&gt;<br />
&lt;!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"&gt;<br />
&lt;sqlMapConfig&gt;<br />
&nbsp;&lt;sqlMap resource="enpty/tmac.xml" /&gt;<br />
&lt;/sqlMapConfig&gt;<br />
<br />
新建一个Spring的配置文件applicationContext.xml<br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;beans<br />
&nbsp;xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"&gt;</p>
<p>&nbsp;&nbsp; &lt;bean id="dataSource"<br />
&nbsp;&nbsp;class="org.apache.commons.dbcp.BasicDataSource"&gt;<br />
&nbsp;&nbsp;&lt;property name="driverClassName"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="url"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;jdbc:mysql://localhost:3306/test&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="username"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;root&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="password"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;root&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="maxWait"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;value&gt;5&lt;/value&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;<br />
&nbsp;&lt;bean id="TransactionManager"<br />
&nbsp;&nbsp;&nbsp;class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt;<br />
&nbsp;&nbsp;&lt;property name="dataSource"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;ref bean="dataSource"/&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;<br />
&nbsp;&lt;bean id="sqlMapClient"<br />
&nbsp;&nbsp;&nbsp;class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt;<br />
&nbsp;&nbsp;&lt;property name="configLocation" value="/WEB-INF/classes/sql-map-config.xml"&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&nbsp;&lt;property name="dataSource"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;ref bean="dataSource"/&gt;<br />
&nbsp;&nbsp;&lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;&lt;!-- sqlMapClientTemplate是一个模板类 --&gt;<br />
&nbsp;&lt;bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="sqlMapClient"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref bean="sqlMapClient"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;<br />
&nbsp;&lt;bean id="jsong" class="enpty.Jsong"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="map"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref bean="sqlMapClientTemplate"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&lt;/bean&gt;<br />
&nbsp;&lt;/beans&gt;<br />
在建立一个Jsong.java<br />
public class Jsong {</p>
<p>&nbsp; @SuppressWarnings("unused")<br />
&nbsp;private SqlMapClientTemplate map;</p>
<p>&nbsp;public SqlMapClientTemplate getMap() {<br />
&nbsp;&nbsp;return map;<br />
&nbsp;}</p>
<p>&nbsp;public void setMap(SqlMapClientTemplate map) {<br />
&nbsp;&nbsp;this.map = map;<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;public void insert(Tmac aa)<br />
&nbsp;{<br />
&nbsp;&nbsp;map.insert("insertCust",aa);<br />
&nbsp;}<br />
}<br />
</p>
<p>在新建一个测试类 Test.java</p>
<p>public class Test{</p>
<p>&nbsp;/**<br />
&nbsp; * @param args<br />
&nbsp; */<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;try <br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;ApplicationContext fa=new ClassPathXmlApplicationContext("applicationContext.xml");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jsong jsong=(Jsong) fa.getBean("jsong");<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;Tmac aa=new Tmac();<br />
&nbsp;&nbsp;&nbsp;aa.setId(10);<br />
&nbsp;&nbsp;&nbsp;aa.setName("jay");<br />
&nbsp;&nbsp;&nbsp;jsong.insert(aa);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;}</p>
<p>}<br />
</p>
<p>我的数据库是MySql,里面有张表是tmac 里面有2个字段 id和name<br />
<br />
<br />
</p>
<img src ="http://www.blogjava.net/jsong/aggbug/215534.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2008-07-17 16:36 <a href="http://www.blogjava.net/jsong/archive/2008/07/17/215534.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jdom</title><link>http://www.blogjava.net/jsong/archive/2008/07/17/215527.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 17 Jul 2008 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2008/07/17/215527.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/215527.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2008/07/17/215527.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/215527.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/215527.html</trackback:ping><description><![CDATA[jdom是一个第三方开源项目&nbsp; 里面封装了一些操作XML的接口和方法，jdom很简单<br />
首先下载一个jdom.jar，把它复制到项目的LIB下面<br />
然后写一个测试类<br />
ReadXml .java<br />
<br />
<p>package test.xml;</p>
<p>import java.util.List;</p>
<p>import org.jdom.Document;<br />
import org.jdom.Element;<br />
import org.jdom.input.SAXBuilder;</p>
<p>public class ReadXml {</p>
<p>&nbsp;@SuppressWarnings("unchecked")<br />
&nbsp;public static void main(String[] args) {<br />
&nbsp;&nbsp;@SuppressWarnings("unused")<br />
&nbsp;&nbsp;SAXBuilder sax = new SAXBuilder();<br />
&nbsp;&nbsp;try <br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;@SuppressWarnings("unused")<br />
&nbsp;&nbsp;&nbsp;Document dom=sax.build("test.xml");<br />
&nbsp;&nbsp;&nbsp;@SuppressWarnings("unused")<br />
&nbsp;&nbsp;&nbsp;Element el=dom.getRootElement(); //得到根节点<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;@SuppressWarnings("unused")<br />
&nbsp;&nbsp;&nbsp;List list=el.getChildren();//得到el根元素下面所有的子元素<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;list.size();i++)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Element ee=(Element) list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ee.getName());//得到ee元素的名字<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ee.getAttributeValue("身高"));//得到ee属性的值<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("----------");<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ee.getValue());//得到ee节点下所有元素的值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(ee.getChildText("小前锋").equals("1"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ee.getChildText("火箭"));//得到ee节点下面元素是"火箭"的值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
}<br />
<br />
就会自动生成一个test.xml的文件<br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;篮球&gt;<br />
&nbsp; &lt;麦迪 身高="2.02"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;小前锋&gt;1&lt;/小前锋&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;火箭&gt;62分&lt;/火箭&gt;<br />
&nbsp; &lt;/麦迪&gt;<br />
&nbsp; &lt;科比 身高="1.98"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;得分后卫&gt;8&lt;/得分后卫&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--麦迪vs科比 no.1--&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;湖人&gt;81分&lt;/湖人&gt;<br />
&nbsp; &lt;/科比&gt;<br />
&lt;/篮球&gt;<br />
<br />
下面代码是读取XML中的内容<br />
</p>
<p>package test.xml;</p>
<p>import java.io.FileOutputStream;<br />
import java.io.IOException;</p>
<p>import org.jdom.Comment;<br />
import org.jdom.Document;<br />
import org.jdom.Element;<br />
import org.jdom.output.Format;<br />
import org.jdom.output.XMLOutputter;</p>
<p>public class WriteXml {</p>
<p>&nbsp;public static void main(String[] args) {</p>
<p>&nbsp;&nbsp;@SuppressWarnings("unused")<br />
&nbsp;&nbsp;Document dom = new Document();<br />
&nbsp;<br />
&nbsp;&nbsp;Element students = new Element("篮球");&nbsp; //根节点<br />
&nbsp;&nbsp;Element s1 = new Element("麦迪");&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;Element s2 = new Element("科比");<br />
&nbsp;&nbsp;Element n1 = new Element("小前锋");<br />
&nbsp;&nbsp;Element n2 = new Element("得分后卫");<br />
&nbsp;&nbsp;Element c1 = new Element("火箭");<br />
&nbsp;&nbsp;Element c2 = new Element("湖人");<br />
&nbsp;&nbsp;Comment cc = new Comment("麦迪vs科比 no.1"); //Comment类是注释</p>
<p>&nbsp;&nbsp;n1.setText("1"); //设置n1节点元素的值<br />
&nbsp;&nbsp;n2.setText("8");<br />
&nbsp;&nbsp;c1.setText("62分");<br />
&nbsp;&nbsp;c2.setText("81分");<br />
&nbsp;&nbsp;s1.setAttribute("身高", "2.02");&nbsp; //在s1节点上面加入属性id,id的值是s01<br />
&nbsp;&nbsp;s2.setAttribute("身高", "1.98");</p>
<p>&nbsp;&nbsp;s1.addContent(n1);<br />
&nbsp;&nbsp;s1.addContent(c1);<br />
&nbsp;&nbsp;s2.addContent(n2);<br />
&nbsp;&nbsp;s2.addContent(cc);<br />
&nbsp;&nbsp;s2.addContent(c2);</p>
<p>&nbsp;&nbsp;students.addContent(s1);//将s1节点添加到students根节点上<br />
&nbsp;&nbsp;students.addContent(s2);<br />
&nbsp;&nbsp;dom.addContent(students);//将根节点students添加到dom对象里面<br />
&nbsp;&nbsp;XMLOutputter outputter = new XMLOutputter();<br />
&nbsp;&nbsp;outputter.setFormat(Format.getPrettyFormat());//设置xml中的排版格式<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;outputter.output(dom, new FileOutputStream("test.xml"));<br />
&nbsp;&nbsp;} catch (IOException ex) {<br />
&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;}</p>
<p>}</p>
<img src ="http://www.blogjava.net/jsong/aggbug/215527.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2008-07-17 16:17 <a href="http://www.blogjava.net/jsong/archive/2008/07/17/215527.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDK和JRE</title><link>http://www.blogjava.net/jsong/archive/2008/07/16/215203.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Wed, 16 Jul 2008 06:34:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2008/07/16/215203.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/215203.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2008/07/16/215203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/215203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/215203.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 请大家多多指教&nbsp;&nbsp;<a href='http://www.blogjava.net/jsong/archive/2008/07/16/215203.html'>阅读全文</a><img src ="http://www.blogjava.net/jsong/aggbug/215203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2008-07-16 14:34 <a href="http://www.blogjava.net/jsong/archive/2008/07/16/215203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些常用的DOC命令</title><link>http://www.blogjava.net/jsong/archive/2007/12/07/166081.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Fri, 07 Dec 2007 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/12/07/166081.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/166081.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/12/07/166081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/166081.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/166081.html</trackback:ping><description><![CDATA[<p>winver---------检查Windows版本 <br />
wmimgmt.msc----打开windows管理体系结构(WMI) <br />
wupdmgr--------windows更新程序 <br />
wscript--------windows脚本宿主设置 <br />
write----------写字板 <br />
winmsd---------系统信息 <br />
wiaacmgr-------扫描仪和照相机向导 <br />
winchat--------XP自带局域网聊天 </p>
<p>mem.exe--------显示内存使用情况 <br />
Msconfig.exe---系统配置实用程序 <br />
mplayer2-------简易widnows media player <br />
mspaint--------画图板 <br />
mstsc----------远程桌面连接 <br />
mplayer2-------媒体播放机 <br />
magnify--------放大镜实用程序 <br />
mmc------------打开控制台 <br />
mobsync--------同步命令 </p>
<p>dxdiag---------检查DirectX信息 <br />
drwtsn32------ 系统医生 <br />
devmgmt.msc--- 设备管理器 <br />
dfrg.msc-------磁盘碎片整理程序 <br />
diskmgmt.msc---磁盘管理实用程序 <br />
dcomcnfg-------打开系统组件服务 <br />
ddeshare-------打开DDE共享设置 <br />
dvdplay--------DVD播放器 </p>
<p>net stop messenger-----停止信使服务 <br />
net start messenger----开始信使服务 <br />
notepad--------打开记事本 <br />
nslookup-------网络管理的工具向导 <br />
ntbackup-------系统备份和还原 <br />
narrator-------屏幕&#8220;讲述人&#8221; <br />
ntmsmgr.msc----移动存储管理器 <br />
ntmsoprq.msc---移动存储管理员操作请求 <br />
netstat -an----(TC)命令检查接口 </p>
<p>syncapp--------创建一个公文包 <br />
sysedit--------系统配置编辑器 <br />
sigverif-------文件签名验证程序 <br />
sndrec32-------录音机 <br />
shrpubw--------创建共享文件夹 <br />
secpol.msc-----本地安全策略 <br />
syskey---------系统加密，一旦加密就不能解开，保护windows xp系统的双重密码 <br />
services.msc---本地服务设置 <br />
Sndvol32-------音量控制程序 <br />
sfc.exe--------系统文件检查器 <br />
sfc /scannow---windows文件保护 </p>
<p>tsshutdn-------60秒倒计时关机命令 <br />
tourstart------xp简介（安装完成后出现的漫游xp程序） <br />
taskmgr--------任务管理器 </p>
<p>eventvwr-------事件查看器 <br />
eudcedit-------造字程序 <br />
explorer-------打开资源管理器 </p>
<p>packager-------对象包装程序 <br />
perfmon.msc----计算机性能监测程序 <br />
progman--------程序管理器 </p>
<p>regedit.exe----注册表 <br />
rsop.msc-------组策略结果集 <br />
regedt32-------注册表编辑器 <br />
rononce -p ----15秒关机 <br />
regsvr32 /u *.dll----停止dll文件运行 <br />
regsvr32 /u zipfldr.dll------取消ZIP支持 </p>
<p>cmd.exe--------CMD命令提示符 <br />
chkdsk.exe-----Chkdsk磁盘检查 <br />
certmgr.msc----证书管理实用程序 <br />
calc-----------启动计算器 <br />
charmap--------启动字符映射表 <br />
cliconfg-------SQL SERVER 客户端网络实用程序 <br />
Clipbrd--------剪贴板查看器 <br />
conf-----------启动netmeeting <br />
compmgmt.msc---计算机管理 <br />
cleanmgr-------垃圾整理 <br />
ciadv.msc------索引服务程序 </p>
<p>osk------------打开屏幕键盘 <br />
odbcad32-------ODBC数据源管理器 <br />
oobe/msoobe /a----检查XP是否激活 <br />
lusrmgr.msc----本机用户和组 <br />
logoff---------注销命令 </p>
<p>iexpress-------木马捆绑工具，系统自带 </p>
<p>Nslookup-------IP地址侦测器 </p>
<p>fsmgmt.msc-----共享文件夹管理器 </p>
<p>utilman--------辅助工具管理器 </p>
<p>gpedit.msc-----组策略</p>
<p><br />
run里面的内容可以定制的</p>
<p>定制你的运行输入框 <br />
在Windows里面，Microsoft提供了一个新的快捷启动程序的方法：运行 <br />
打开[开始]------[运行]，里面可以直接启动一些特定的程序，如：输入notepad.exe启动记事本，输入xdict.exe启动金山词霸等等。</p>
<p>启动的原理是什么呢？很简单，在注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths下面，可以看到很多次级主键，每一个次级主键就对应着一个能够在运行里面输入的内容。</p>
<p>以ACDSee.exe主键为例：右边有2个字符串，默认对应的是这个程序的绝对路径，而Path对应的是这个程序所处的目录。</p>
<p>定制的方法很简单：在App Paths下新建一个不同名的次级主键（例如：Smallfrogs.EXE），然后修改右边的默认为你要启动的程序的路径（例如：C:Program FilesMy APPSmallfrogs.EXE），然后新建一个字符串Path，修改为那个程序所处的目录（例如::C:Program FilesMy APP）。</p>
<p>然后就可以在运行里面输入：Smallfrogs.EXE来启动C:Program FilesMy APPSmallfrogs.EXE这个程序了。</p>
<p>注意！系统是*次级主键的名字来辨认程序的，即使你不使用Smallfrogs.EXE建立次级主键，而使用SSSSS.EXE建立次级主键，如果莫任何Path的内容和上例一样的话，输入SSSSS.EXE启动的程序仍然是C:Program FilesMy APPSmallfrogs.EXE这个程序。</p>
<p>wupdmgr WIDNOWS UPDATE<br />
shutdown -a 关机解除<br />
about:home 登陆首页<br />
... (三个半角点) 我的电脑<br />
dvdplay DVD播放器<br />
fsmgmt 共享控制台<br />
桌面 打开桌面所在文件夹<br />
..（两点）打开C:documents and Settings<br />
.（一点）打开「开始」菜单<br />
calc 计算器<br />
clipbrd 剪贴板查看器<br />
control 打开控制面板<br />
eventvwr 事件查看器<br />
mstsc 远程桌面 </p>
<p>常用命令：msconfig ， regedit ， internat ，systemtray ，temp ，sfc ，dfrg </p>
<img src ="http://www.blogjava.net/jsong/aggbug/166081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-12-07 16:33 <a href="http://www.blogjava.net/jsong/archive/2007/12/07/166081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在tomcat中配置域名</title><link>http://www.blogjava.net/jsong/archive/2007/11/06/158510.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Tue, 06 Nov 2007 05:14:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/11/06/158510.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/158510.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/11/06/158510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/158510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/158510.html</trackback:ping><description><![CDATA[1.首先,安装tomcat服务器.<br />
2.修改Tomcat/confi/Server.xml: <br />
修改前:<br />
&lt;Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"&gt; <br />
&lt;Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="intel_log." suffix=".txt" timestamp="true"/&gt; <br />
&lt;/Host&gt; <br />
-----------------------------------<br />
修改后:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //随便取,取你自己定义的域名<br />
&lt;Host name="<a href="http://www.aa.com">www.aa.com</a>" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"&gt; <br />
&lt;Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="intel_log." suffix=".txt" timestamp="true"/&gt; <br />
&lt;/Host&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; docBase="项目的路径"<br />
&lt;Context path="" docBase="D:\WebData\ACO" debug="0" <br />
reloadable="true" crossContext="true"&gt; <br />
&lt;/Context&gt; <br />
<br />
我還在本地電腦C:\WINNT\system32\drivers\etc\Hosts配置了該域名﹐如下﹕ <br />
<br />
127.0.0.1 localhost <br />
*.*.*.*(表示我的IP) chenxi.foxconn.com <br />
在URL中輸入 <a href="http://www.aa.com/">www.aa.com</a> 時不能瀏覽Web頁面﹐而再加上Tomcat 端口就可以了(<a href="http://www.aa.com/">www.aa.com:8080</a>).<br />
在Tomcat 5.0\conf\server.xml中 <br />
&lt;Connector <br />
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" <br />
enableLookups="false" redirectPort="8443" acceptCount="100" <br />
debug="0" connectionTimeout="20000" <br />
disableUploadTimeout="true" /&gt; <br />
改为 <br />
&lt;Connector <br />
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" <br />
enableLookups="false" redirectPort="8443" acceptCount="100" <br />
debug="0" connectionTimeout="20000" <br />
disableUploadTimeout="true" /&gt; <br />
重新启动tomcat就可以了,輸入www.aa.com 就可以瀏覽Web頁面問題
<img src ="http://www.blogjava.net/jsong/aggbug/158510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-11-06 13:14 <a href="http://www.blogjava.net/jsong/archive/2007/11/06/158510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring2.X中的AOP的使用</title><link>http://www.blogjava.net/jsong/archive/2007/10/25/155873.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 25 Oct 2007 07:00:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/10/25/155873.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/155873.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/10/25/155873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/155873.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/155873.html</trackback:ping><description><![CDATA[和Spring1.X相比,Spring2.X使用AspectJ的语法来声明AOP.本人也真在学习.<br />
<br />
<p>package com.springinaction.chapter01.knight;</p>
<p>public class Tempimp implements Temp {</p>
<p>&nbsp;public void temp() {<br />
&nbsp;&nbsp;System.out.println("jsong");</p>
<p>&nbsp;}</p>
<p>}</p>
<br />
<br />
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</p>
<p>&lt;beans xmlns="http://www.springframework.org/schema/beans"<br />
&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
&nbsp;xmlns:aop="http://www.springframework.org/schema/aop"<br />
&nbsp;xsi:schemaLocation="http://www.springframework.org/schema/beans <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/beans/spring-beans-2.0.xsd<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/aop <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"&gt;</p>
<p>&nbsp;<br />
&nbsp;<br />
&nbsp;&lt;bean&nbsp; id="aa" class="com.springinaction.chapter01.knight.Tempimp"/&gt;</p>
<p><br />
&nbsp;&lt;aop:config&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&lt;aop:aspect id ="logAspect" ref="aa"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 声明一个切面 id="随便定义"&nbsp; ref="引用上面的bean(aa)"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;aop:pointcut id="businessService" expression = "execution(* springinaction.chapter01.knight.Tempimp.temp(..))" /&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 声明一个切入点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;aop:around pointcut-ref="businessService"&nbsp;&nbsp; method="intercept"/&gt;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通知<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;aop:after pointcut-ref = "businessService" method ="temp"/&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 声明通知<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/aop:aspect&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/aop:config&gt; <br />
&nbsp;<br />
&lt;/beans&gt;</p>
结果还是会调用temp()方法.打印出jsong。<br />
现在还在继续学些spring2.X。希望大家多多指教.有什么问题,大家互相学习<br />
<img src ="http://www.blogjava.net/jsong/aggbug/155873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-10-25 15:00 <a href="http://www.blogjava.net/jsong/archive/2007/10/25/155873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring中的调度器(Quartz)</title><link>http://www.blogjava.net/jsong/archive/2007/10/25/155852.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 25 Oct 2007 05:55:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/10/25/155852.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/155852.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/10/25/155852.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/155852.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/155852.html</trackback:ping><description><![CDATA[不知道大家做过调度任务没有? 如果要你写个程序.从早上8点到晚上6点.每过1个小时.程序会自动加10分.在这里就可以用spring中的Quartz.<br />
<p>&lt;bean name="caa" class="cn.market.quartz.Caa" singleton="false"&gt;<br />
&nbsp;&lt;property name="marketMgr"&gt;<br />
&nbsp;&nbsp;&lt;ref bean="marketManager" /&gt;<br />
&nbsp;&lt;/property&gt;<br />
&lt;/bean&gt;</p>
<p><br />
&lt;bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--targetObject 是MethodInvokingJobDetailFactoryBean的一个属性--&gt;<br />
&nbsp;&lt;property name="targetObject" ref="caa" /&gt;&nbsp; &lt;!--caa是一个生成执行类.里面写的操作数据库的方法--&gt;<br />
&nbsp;&lt;property name="targetMethod" value="creat" /&gt;&nbsp;&nbsp;&nbsp; &lt;!--creat是caa中的一个方法(就是操作方法)--&gt;<br />
&nbsp;&lt;property name="concurrent" value="false" /&gt;<br />
&lt;/bean&gt;</p>
<p>&lt;bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"&gt;<br />
&nbsp;&lt;property name="jobDetail" ref="jobDetail" /&gt;<br />
&nbsp;&lt;property name="cronExpression" value="0 0 8-18 * * ?" /&gt; &lt;!--表示从早上8点到晚上6点.每一个小时执行一次--&gt;<br />
&lt;/bean&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&lt;bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt;<br />
&nbsp;&lt;property name="triggers"&gt;<br />
&nbsp;&nbsp;&lt;list&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;ref bean="cronTrigger" /&gt;<br />
&nbsp;&nbsp;&lt;/list&gt;<br />
&nbsp;&lt;/property&gt;<br />
&lt;/bean&gt;</p><img src ="http://www.blogjava.net/jsong/aggbug/155852.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-10-25 13:55 <a href="http://www.blogjava.net/jsong/archive/2007/10/25/155852.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts中的ACTION</title><link>http://www.blogjava.net/jsong/archive/2007/10/25/155846.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 25 Oct 2007 05:33:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/10/25/155846.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/155846.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/10/25/155846.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/155846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/155846.html</trackback:ping><description><![CDATA[DispatchAction, LookupDispatchAction, MappingDispatchAction的深入分析.我们来看一下它们3者的关系.<br />
org.apache.struts.action.Action,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --父类<br />
org.apache.struts.actions.DispatchAction,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 子类<br />
org.apache.struts.actions.LookupDispatchAction,&nbsp; 子类<br />
org.apache.struts.actions.MappingDispatchAction, 子类<br />
DispatchAction, LookupDispatchAction, MappingDispatchAction都是继承的Action类.<br />
<p>DispatchAction<br />
定义</p>
<p>public abstract class DispatchAction extends Action<br />
这是一个抽象的Action,它会根据request 中的parameter来执行相应的方法。通个这个Action类可以将不同的Action集中到一个Action文件中来。</p>
<p>Struts-config.xml:</p>
<p>&lt;action path="/saveSubscription" type="org.apache.struts.actions.DispatchAction" name="subscriptionForm" scope="request" input="/subscription.jsp" parameter="method"/&gt; </p>
<p>在Action中要有相应的方法:</p>
<p>Public class demoAction extends DispatchAction{</p>
<p>public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward insert(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>}</p>
<p>你就可以通过这样的方法来访问你的程序:</p>
<p><br />
http://localhost:8080/myapp/saveSubscription.do?method=update </p>
<p><br />
如果parameter中参数为空，则执行Action中unspecified方法</p>
<p><br />
LookupDispatchAction<br />
public abstract class LookupDispatchAction extends DispatchAction<br />
通过这个Action抽象类继承DispatchAction，它的相应方法的执行由 ActionMapping中parameter属性决定。它适合在一个form中有很多按钮，按不同的按钮则执行不同的操作。</p>
<p>struts-config.xml:</p>
<p>&lt;action path="/test"</p>
<p>type="org.example.MyAction"</p>
<p>name="MyForm"</p>
<p>scope="request"</p>
<p>input="/test.jsp"</p>
<p>parameter="method"/&gt;</p>
<p>ApplicationResources.properties:</p>
<p><br />
button.add=Add Record</p>
<p>button.delete=Delete Record</p>
<p>JSP:</p>
<p><br />
&lt;html:form action="/test"&gt;</p>
<p>&lt;html:submit property="method"&gt;</p>
<p>&lt;bean:message key="button.add"/&gt;</p>
<p>&lt;/html:submit&gt;</p>
<p>&lt;html:submit property="method"&gt;</p>
<p>&lt;bean:message key="button.delete"/&gt;</p>
<p>&lt;/html:submit&gt;</p>
<p>&lt;/html:form&gt;</p>
<p>在Action 中必须实现getKeyMethodMap:</p>
<p><br />
protected Map getKeyMethodMap() {</p>
<p>Map map = new HashMap();</p>
<p>map.put("button.add", "add");</p>
<p>map.put("button.delete", "delete");</p>
<p>return map;</p>
<p>}</p>
<p><br />
public ActionForward add(ActionMapping mapping,</p>
<p>ActionForm form,</p>
<p>HttpServletRequest request,</p>
<p>HttpServletResponse response)</p>
<p>throws IOException, ServletException {</p>
<p>// do add</p>
<p>return mapping.findForward("success");</p>
<p>}</p>
<p><br />
public ActionForward delete(ActionMapping mapping,</p>
<p>ActionForm form,</p>
<p>HttpServletRequest request,</p>
<p>HttpServletResponse response)</p>
<p>throws IOException, ServletException {</p>
<p>// do delete</p>
<p>return mapping.findForward("success");</p>
<p>}</p>
<p><br />
MappingDispatchAction<br />
public class MappingDispatchAction extends DispatchAction<br />
它的相应方法的执行由 ActionMapping中parameter名决定,注意这里和LookupDispatchAction不同，LookupDispatchAction的相应方法的执行由 ActionMapping中parameter属性决定，</p>
<p><br />
struts-config.xml:</p>
<p>&nbsp;</p>
<p>&lt;action path="/saveSubscription"</p>
<p>type="org.example.SubscriptionAction"</p>
<p>name="subscriptionForm"</p>
<p>scope="request"</p>
<p>input="/subscription.jsp"</p>
<p>parameter="method"/&gt;</p>
<p>Action:</p>
<p><br />
public ActionForward create(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception </p>
<p>for which you would create corresponding &lt;action&gt; configurations that reference this class:</p>
<p>&nbsp;</p>
<p>&lt;action path="/createSubscription" </p>
<p>type="org.example.SubscriptionAction"</p>
<p>parameter="create"&gt;</p>
<p>&lt;forward name="success" path="/editSubscription.jsp"/&gt;</p>
<p>&lt;/action&gt;</p>
<p><br />
&lt;action path="/editSubscription" </p>
<p>type="org.example.SubscriptionAction"</p>
<p>parameter="edit"&gt;</p>
<p>&lt;forward name="success" path="/editSubscription.jsp"/&gt;</p>
<p>&lt;/action&gt;</p>
<p><br />
&lt;action path="/saveSubscription" </p>
<p>type="org.example.SubscriptionAction" </p>
<p>parameter="save"</p>
<p>name="subscriptionForm" </p>
<p>validate="true" </p>
<p>input="/editSubscription.jsp" </p>
<p>scope="request"&gt;</p>
<p>&lt;forward name="success" path="/savedSubscription.jsp"/&gt;</p>
<p>&lt;/action&gt;</p>
<p><br />
&lt;action path="/deleteSubscription" </p>
<p>type="org.example.SubscriptionAction"</p>
<p>name="subscriptionForm"</p>
<p>scope="request"</p>
<p>input="/subscription.jsp"</p>
<p>parameter="delete"&gt;</p>
<p>&lt;forward name="success" path="/deletedSubscription.jsp"/&gt;</p>
<p>&lt;/action&gt;</p>
<p><br />
&lt;action path="/listSubscriptions" </p>
<p>type="org.example.SubscriptionAction"</p>
<p>parameter="list"&gt;</p>
<p>&lt;forward name="success" path="/subscriptionList.jsp"/&gt;</p>
<p>&lt;/action&gt; </p>
<p><br />
DispatchAction,LookupDispatchAction,MappingDispatchAction<br />
1) DispatchAction就是在struts-config中用parameter参数配置一个表单字段名,这个字段的值就是最终替代execute被调用的方法. 例如parameter="method"而request.getParameter("method")="save"，其中"save"就是MethodName。struts的请求将根据parameter被分发到"save"或者"edit"或者什么。但是有一点，save()或者edit()等方法的声明和execute必须一模一样。</p>
<p>2) LookupDispatchAction继承DispatchAction, 用于对同一个页面上的多个submit按钮进行不同的响应。其原理是，首先用MessageResource将按钮的文本和ResKey相关联，例如button.save=保存；然后再复写getKeyMethodMap(), 将ResKey和MethodName对应起来, 例如map.put("button.save", "save"); 其配置方法和DispatchAction是一样的, 使用时要这么写:</p>
<p>3) MappingDispatchAction是1.2新加的, 也继承自DispatchAction. 它实现的功能和上面两个区别较大, 是通过struts-config.xml将多个action-mapping映射到同一个Action类的不同方法上, 典型的配置就是:</p>
<p><br />
然后UserAction继承MappingDispatchAction，其中有：<br />
public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception <br />
public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception <br />
等方法</p>
<p>可以看到, 不管怎么变化, 其实这些类都是把execute给分解开, 不管是save, edit还是其他什么方法, 其实都是和原来的execute是等价的, save和edit之间没有任何直接的关系, 而事实呢，它们是同一个业务模型的两种不同操作。 我觉得这就是一个问题，对于save和edit这两种请求, 我后台逻辑有可能只是调用service的方法那一句不一样，其他代码是完全一致的(例如错误处理, 日志记录等)。因此我想出了这个小东西，在execute方法内部进行局部分解</p>
<br />
<br /><img src ="http://www.blogjava.net/jsong/aggbug/155846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-10-25 13:33 <a href="http://www.blogjava.net/jsong/archive/2007/10/25/155846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定义报表</title><link>http://www.blogjava.net/jsong/archive/2007/10/25/155844.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 25 Oct 2007 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/10/25/155844.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/155844.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/10/25/155844.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/155844.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/155844.html</trackback:ping><description><![CDATA[<p>用ASP.net做过开发的人都知道.在.net中做报表很简单. 可是,在java中如何解决报表问题了.其实在java中使用报表也不是什么难点.可以使用<span class="txtstyle">FineReport这个产品.它可以实现一些复杂的报表问题.它可以生成饼状图和柱形图.等复杂的报表模板.这样可以给开发人员提供一个很好的平台.</span><br />
<br />
<span class="txtstyle">FineReport软件是帆软软件（中国）公司自主研发的一款企业级的报表工具软件，针对复杂格式的报表数据及Web报表的展现，FineReport提供了分组报表来继承SQL型报表工具软件的快速做简单格式报表的优点，提供了电子表格来继承Cell型报表工具软件的可以做极度没有规则的复杂格式报表的优点，又创新性的提供了&#8220;Excel+绑定数据列&#8221;形式的自由报表，通过多源分片、不规则分组、双向扩展来轻松拖拽做复杂格式的报表，做报表从此不再需要编写复杂的SQL语句和做大量的前期数据准备了，不仅不需要编程而且大大降低了报表后期的维护量，将制作报表的效率提高了一个数量级.它分为报表/表单设计器，报表/表单服务器.<br />
<br />
首先，要在<a href="http://www.finereport.com/cn/index.html">http://www.finereport.com/cn/index.html</a>下载相关软件.安装完成后,打开报表设计器.<br />
&nbsp; </p>
<p><span style="font-family: 宋体">一般来说，一个完整的报表设计流程，大体分为如下几个步骤：</span></p>
<p style="margin-left: 26.25pt; text-indent: -26.25pt"><span style="font-size: 12pt; color: red; font-family: 宋体">打开设计器</span><span style="font-size: 15pt; color: red; font-family: Wingdings"><span style="font-size: 12pt"><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">配置数据源</span><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">新建报表</span><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">定义私有数据源</span><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">报表设计</span><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">预揽报表</span><span style="color: red; font-family: Wingdings">&#224;</span><span style="color: red; font-family: 宋体">发布报表<br />
<br />
具体的步骤我就不多说了.该软件有很详细的帮助说明文档.可参考它的说明文档.如有不清楚的地方.可以留言或于我联系...我这里有做好的实例.可供大家参考..</span></span></span></span></p>
<img src ="http://www.blogjava.net/jsong/aggbug/155844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-10-25 13:26 <a href="http://www.blogjava.net/jsong/archive/2007/10/25/155844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>URLrewrite</title><link>http://www.blogjava.net/jsong/archive/2007/10/25/155827.html</link><dc:creator>Jsong</dc:creator><author>Jsong</author><pubDate>Thu, 25 Oct 2007 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/jsong/archive/2007/10/25/155827.html</guid><wfw:comment>http://www.blogjava.net/jsong/comments/155827.html</wfw:comment><comments>http://www.blogjava.net/jsong/archive/2007/10/25/155827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jsong/comments/commentRss/155827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsong/services/trackbacks/155827.html</trackback:ping><description><![CDATA[<p>1.首先下载1个urlrewrite-3.0.4.zip的压缩包.把它解压.在 lib/下面找到urlrewrite-3.0.4.jar文件.<br />
2.打开eclipse,先建立一个Web项目.然后把这个urlrewrite-3.0.4.jar复制到项目重中的lib文件下面.<br />
3.修改web.xml文件.在&lt;web-app&gt;&lt;/web-app&gt;标签中加入过滤器<br />
&lt;filter&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter&lt;/filter-class&gt;<br />
&lt;/filter&gt;<br />
&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&lt;/filter-mapping&gt;</p>
<p>4.在web-inf目录下建立一个urlrewrite.xml.在该文件里添加以下代码<br />
&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://tuckey.org/res/dtds/urlrewrite3.0.dtd"&gt;<br />
&lt;urlrewrite&gt;<br />
&nbsp;&lt;rule&gt;<br />
&nbsp;&nbsp; &lt;from&gt;/tmac/(.*).html&lt;/from&gt;&nbsp;&nbsp;&nbsp; tmac:可以随便取名字,但最好是英文&nbsp;&nbsp; 后缀名.html可以随便取.例如.aa,.vv等 一定要和<br />
&nbsp;&nbsp; &lt;to&gt;/index.jsp?id=$1&lt;/to&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index.jsp:是我自己新建的JSP文件.&nbsp; id:是参数名,参数名可以随便定义.&nbsp; id=$1是对应的格式化表达式<br />
&nbsp;&lt;/rule&gt;<br />
&lt;/urlrewrite&gt;<br />
5.然后在webroot下面建立1个index.jsp在jsp里加入<br />
&lt;%&nbsp; System.out.println(request.getParameter("id")); %&gt; <br />
看看id打出来是个什么内容.</p>
<p>6.在启动tomcat服务器.在iE上输入http://localhost:8080/工程名/tmac/a.html/就可以看到效果.在这里../tmac/a.html是根据urlrewrite.xml里面from标签的值来的.一定要和from标签的值匹配</p>
<img src ="http://www.blogjava.net/jsong/aggbug/155827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsong/" target="_blank">Jsong</a> 2007-10-25 12:44 <a href="http://www.blogjava.net/jsong/archive/2007/10/25/155827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>