﻿<?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-叶明的javablog-随笔分类-eclipse</title><link>http://www.blogjava.net/guming123416/category/6974.html</link><description>java学习天堂,个人关于JAVA的论坛bbs.javaworker.cn,欢迎大家访问</description><language>zh-cn</language><lastBuildDate>Wed, 05 Dec 2007 10:52:26 GMT</lastBuildDate><pubDate>Wed, 05 Dec 2007 10:52:26 GMT</pubDate><ttl>60</ttl><item><title>struts2遇到的怪问题</title><link>http://www.blogjava.net/guming123416/archive/2007/12/05/struts2.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Wed, 05 Dec 2007 01:35:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2007/12/05/struts2.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/165375.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2007/12/05/struts2.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/165375.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/165375.html</trackback:ping><description><![CDATA[最近学习struts2，以前曾经学习过webwork2.2，因此学习起来感觉还是蛮快的，不过，最近遇到一个问题。调试了好多天，终于搞定了，问题描述：（我做的是一个登陆）<br />
首先输入用户名、密码和验证码，如果有任何一个输入错误，action执行后，返回到登陆页面，再次修改用户名、密码和验证码后，在次提交。系统竟然没有反应，<br />
错误前代码：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(admin.getSadminName()==null||admin.getSadminName().length()&nbsp;&lt;&nbsp;1)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("admin.sadminName",&nbsp;"用户名错误!");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(admin.getSadminPass()==null||admin.getSadminPass().length()&nbsp;&lt;&nbsp;1)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("admin.sadminPass",&nbsp;"密码错误！");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(vn==null||vn.length()&lt;1)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("vn",&nbsp;"验证码输入错误！");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;ValidateNumber&nbsp;=&nbsp;sessionMap.get("ValidateNumber").toString();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info("ValidateNumber="+ValidateNumber);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info("vn="+vn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(ValidateNumber==null||ValidateNumber.length()&lt;1)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("vn",&nbsp;"验证码baocun输入错误！");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(ValidateNumber.equalsIgnoreCase(vn)==false)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("vn",&nbsp;"验证码输11入错误！");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tadmin&nbsp;cAdmin&nbsp;=&nbsp;adminService.validateAdmin(admin.getSadminName(),MD5.getString(admin.getSadminPass()));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cAdmin==null)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addFieldError("admin.sadminName",&nbsp;"用户名或者密码错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("用户名密码错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sessionMap.put(NewsUtil.ADMIN_USERKEY,&nbsp;cAdmin);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;SUCCESS;<br />
如果是这样的。action只能执行一次，好像action中的参数一直没有释放，所以再次提交，action一直处于运行状态，再次提交，系统不会改变。<br />
如果修改成<br />
&nbsp;&nbsp;&nbsp;&nbsp;//检查用户名是不是存在<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(NewsUtil.checkNull(admin.getSadminName())){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("admin.sadminName",&nbsp;"您输入的用户名有错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//actionMessage.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addActionMessage("您输入的用户名有错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("您输入的用户名有错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//检查密码是不是空或者null<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(NewsUtil.checkNull(admin.getSadminPass())){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("admin.sadminPass",&nbsp;"您输入的密码不正确");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("您输入的密码不正确");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(NewsUtil.checkNull(vn)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("vn",&nbsp;"您输入验证码错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("您输入验证码错误");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;validateNumber&nbsp;=&nbsp;(String)SessionMap.get("ValidateNumber");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(NewsUtil.checkNull(validateNumber)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("vn",&nbsp;"你的验证码不正确。请重新输入");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("你的验证码不正确。请重新输入");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(validateNumber.equalsIgnoreCase(vn)==false){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("vn",&nbsp;"您输入的验证码不正确。请重新输入");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("您输入的验证码不正确。请重新输入");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tadmin&nbsp;cAdmin&nbsp;=&nbsp;adminService.validate(admin.getSadminName(),&nbsp;MD5.getString(admin.getSadminPass()));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cAdmin&nbsp;==&nbsp;null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//addFieldError("admin.sadminName",&nbsp;"对不起，您输入的用户名或者密码有问题");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("对不起，您输入的用户名或者密码有问题");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;INPUT;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//开始更新用户登陆信息的更新<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cAdmin.setIloginTime(cAdmin.getIloginTime()+1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//cAdmin.setSlastLoginIp(validateNumber)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cAdmin.setSlastLoginTime(new&nbsp;Date());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adminService.update(cAdmin);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SessionMap.put(ShopUtil.TADMIN_LOGINED_KEY,&nbsp;cAdmin);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;SUCCESS;<br />
就OKl了，我在怀疑是不是我使用的版本中有这样的一个bug，
<br />
<img src ="http://www.blogjava.net/guming123416/aggbug/165375.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2007-12-05 09:35 <a href="http://www.blogjava.net/guming123416/archive/2007/12/05/struts2.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用myeclipse6.0的问题</title><link>http://www.blogjava.net/guming123416/archive/2007/08/26/139645.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Sun, 26 Aug 2007 14:29:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2007/08/26/139645.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/139645.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2007/08/26/139645.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/139645.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/139645.html</trackback:ping><description><![CDATA[昨天下载了myeclipse6.0.试用起来，感觉很不错，，使用ewebedit的的时间，输入代码：&lt;input name="tNewsContent" type="hidden" id="tNewsContent"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;IFRAME ID="eWebEditor1" src="htmledit/eWebEditor.jsp?id=tNewsContent&amp;style=standard&amp;savepathfilename=nImgPath" frameborder="0" scrolling="no" width="650" height="500"&gt;&lt;/IFRAME&gt; 在保存文件的时间，eclipse自动关闭了，我重新测试一下，还是一样的结果，不知道是我系统的问题还是myeclipse的问题。我于是替换成myeclipse5.5的，一切正常了，看来应该是myeclipse6.0的一个小bug吧 <br><br>今天早晨myeclipse自动升级了，发现这个功能已经修复了， 但是再次使用的时间，还是自动关闭了，艾！看来版本还是要稳定后才能使用啊，还一位惊天在自动升级已经更新了该功能<br>真晕
<img src ="http://www.blogjava.net/guming123416/aggbug/139645.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2007-08-26 22:29 <a href="http://www.blogjava.net/guming123416/archive/2007/08/26/139645.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经历一些繁忙的工作，开始学习webwork.</title><link>http://www.blogjava.net/guming123416/archive/2007/07/27/132763.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Fri, 27 Jul 2007 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2007/07/27/132763.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/132763.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2007/07/27/132763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/132763.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/132763.html</trackback:ping><description><![CDATA[<p>最近由于struts2比较流行起来，我开始想学webwork2买了本书《webwork in action》中文版，但是却发现，讲解按照是2.1.7新的，现在都是2.2.6.了，变化最大(一个简单的helloworld例子：)</p>
<p>web.xml<br>&lt;?xml version="1.0" encoding="GB18030"?&gt;<br>&lt;web-app version="2.4" <br>&nbsp;xmlns="<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>" <br>&nbsp;xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" <br>&nbsp;xsi:schemaLocation="<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a> <br>&nbsp;<a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</a>"&gt;<br>&nbsp;&lt;filter&gt;<br>&nbsp;&nbsp;&lt;filter-name&gt;webwork&lt;/filter-name&gt;<br>&nbsp;&nbsp;&lt;filter-class&gt;com.opensymphony.webwork.dispatcher.FilterDispatcher&lt;/filter-class&gt;<br>&nbsp;&lt;/filter&gt;<br>&nbsp;&lt;filter-mapping&gt;<br>&nbsp;&nbsp;&lt;filter-name&gt;webwork&lt;/filter-name&gt;<br>&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br>&nbsp;&lt;/filter-mapping&gt;<br>&nbsp; &lt;welcome-file-list&gt;<br>&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br>&nbsp; &lt;/welcome-file-list&gt;<br>&lt;/web-app&gt;<br><br>xwork.xml<br>&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"<br>"<a href="http://www.opensymphony.com/xwork/xwork-1.0.dtd">http://www.opensymphony.com/xwork/xwork-1.0.dtd</a>"&gt;</p>
<p>&lt;xwork&gt;<br>&nbsp;&lt;include file="webwork-default.xml"&gt;&lt;/include&gt;<br>&nbsp;&lt;package name="default" extends="webwork-default"&gt;<br>&nbsp;&nbsp;&lt;action name="helloWorld" class="cn.javaworker.yeming.action.HelloWorld"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;result name="success"&gt;index.jsp&lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&lt;result name="input"&gt;hello.jsp&lt;/result&gt;<br>&nbsp;&nbsp;&lt;/action&gt;<br>&nbsp;&lt;/package&gt;<br>&lt;/xwork&gt;<br><br>hello.jsp<br>&lt;%@ taglib prefix="ww" uri="/webwork"%&gt;<br>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br>&lt;html&gt;<br>&nbsp; &lt;head&gt;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;title&gt;Enter you name&lt;/title&gt;<br>&nbsp; &lt;/head&gt;<br>&nbsp; <br>&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&lt;ww:form action="helloWorld"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;ww:textfield label="please enter user name" name="name"&gt;&lt;/ww:textfield&gt;<br>&nbsp;&nbsp;&nbsp;&lt;input&nbsp; type="submit"/&gt;<br>&nbsp;&nbsp;&lt;/ww:form&gt;<br>&nbsp; &nbsp;&lt;form action="helloWorld.action"&gt;<br>&nbsp; &nbsp;&nbsp; please enter you name:&lt;input type="text" name="name" value="&lt;ww:property value="name"/&gt;"/&gt;<br>&nbsp; &nbsp;&nbsp;&lt;input type="submit"&gt;<br>&nbsp; &nbsp;&lt;/form&gt;<br>&nbsp; &lt;/body&gt;<br>&lt;/html&gt;<br><br>index.jsp<br><br>&lt;%@ taglib prefix="ww" uri="/webwork"%&gt;<br>&lt;html&gt;<br>&nbsp;&lt;head&gt;<br>&nbsp;&nbsp;&lt;title&gt;hello page&lt;/title&gt;<br>&nbsp;&lt;/head&gt;<br>&nbsp;&lt;body&gt;<br>&nbsp;&nbsp;The message generated by my first action is :&lt;ww:property value="message"/&gt;<br>&nbsp;&lt;/body&gt;<br>&lt;/html&gt;<br><br>HelloWorld.java<br><br>package cn.javaworker.yeming.action;</p>
<p>import com.opensymphony.xwork.ActionSupport;</p>
<p>/**<br>* @author $author<br>*/<br>@SuppressWarnings("serial")<br>public class HelloWorld extends ActionSupport{<br>&nbsp;<br>&nbsp;private String message;<br>&nbsp;<br>&nbsp;private String name;<br>&nbsp;/**<br>&nbsp; * @see com.opensymphony.xwork.Action#execute()<br>&nbsp; */<br>&nbsp;public String execute() throws Exception<br>&nbsp;{<br>&nbsp;&nbsp;if(name==null||name.equals("")||name.equals("world")){<br>&nbsp;&nbsp;&nbsp;addFieldError("name","blank names or names of 'world' are not allowed!");<br>&nbsp;&nbsp;&nbsp;return INPUT;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;message ="hello "+name+"!\n";<br>&nbsp;&nbsp;message+="this is the time is: "+System.currentTimeMillis();<br>&nbsp;&nbsp;return SUCCESS;<br>&nbsp;}<br>&nbsp;/**<br>&nbsp; * @return the name<br>&nbsp; */<br>&nbsp;public String getName() {<br>&nbsp;&nbsp;return name;<br>&nbsp;}<br>&nbsp;/**<br>&nbsp; * @param name the name to set<br>&nbsp; */<br>&nbsp;public void setName(String name) {<br>&nbsp;&nbsp;this.name = name;<br>&nbsp;}<br>&nbsp;/**<br>&nbsp; * @return the message<br>&nbsp; */<br>&nbsp;public String getMessage() {<br>&nbsp;&nbsp;return message;<br>&nbsp;}</p>
<p><br>}</p>
<img src ="http://www.blogjava.net/guming123416/aggbug/132763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2007-07-27 13:50 <a href="http://www.blogjava.net/guming123416/archive/2007/07/27/132763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse搭配Resin开发Struts应用之环境篇 </title><link>http://www.blogjava.net/guming123416/archive/2007/03/30/107472.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Fri, 30 Mar 2007 06:27:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2007/03/30/107472.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/107472.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2007/03/30/107472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/107472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/107472.html</trackback:ping><description><![CDATA[大家都知道，无论是Eclipse还是Resin，它们在启动的时候都能自动寻找JDK路径，这里假设JDK路径为$JAVA_HOME。<br /><br />JDK下面有一个非常重要的目录，即： $JAVA_HOME/jre/lib，大家用得最普遍的就是$JAVA_HOME/jre/lib/ext目录（可以放置常用的JAR扩展包）了，我喜欢将jtds-1.2.jar文件拷贝到此目录下，当运行打包好的JAR时，不需要为每一个JAR配置数据库驱动加载路径（当然，你也可以将jtds-1.2.jar加入到系统环境变量中，只是你得Reboot your computer而已）。<br /><br />好了，下面言归正传，如果你用myeclipse配置了resin服务器，你会发现myeclipse并不能启动resin，而在控制台上打印出来的是resin.conf:241: Required file '\conf\app-default.xml' can not be read for resin:import.，很明显，是系统找不到app-default.xml'文件，而这个文件确实在$RESIN_HOME/conf/目录下，打开resin.conf，定位到133行，发现配置文件是这样的：&lt;resin:import path="${resin.home}/conf/app-default.xml"/&gt;，因为${resin.home}/就是Resin的当前目录，所以我们可以换成&lt;resin:import path="./conf/app-default.xml"/&gt;，再启动，OK。<br /><br />resin.conf里面还有一个地方比较有意思，且看211行代码：&lt;web-app-deploy path="webapps"/&gt;，系统配置的Web应用目录为$RESIN_HOME/webapps，而Eclipse工程发布后是在$RESIN_HOME/deploy，所以我们干脆就不用myeclipse里的站点发布功能，直接修改resin.conf文件，加载一个外部目录，将它手指向你的工程，找到如下代码（240行）&lt;web-app id="/" root-directory="webapps/ROOT"/&gt;，在后面加上&lt;web-app id="/import" root-directory="D:/eclipse/work/Import/WebRoot"/&gt;。<br /><br />好像问题还不止这么简单，因为我的D:/eclipse/work/Import/WebRoot工程是用Struts框架开发的，所有在resin启动import的时候，报了如下的错误：<br />javax.xml.parsers.SAXParserFactory: org.apache.xerces.jaxp.SAXParserFactoryImpl<br />XML解释器的错误，顺便在Google上一搜，找到了三种解决办法，受推荐的方案如下：<br />在 $JAVA_HOME/jre/lib目录下新建endorsed目录（如果没有的话），然后将你工程lib目录下的xercesImpl.jar拷贝到刚建的那个目录里面，问题即可解决。<br /><br />不推荐在$JAVA_HOME/jre/lib下面新建内容为javax.xml.parsers.SAXParserFactory: org.apache.xerces.jaxp.SAXParserFactoryImpl的jaxp.properties文件，当然，如果你准备强行这么干的话，你的Tomcat就只能暗无天日了。<br /><br /><br />下面是附加内容<br /><br />附一：Apache与Resin集成<br />1. 更改Apache的文档目录：在httpd.conf中找到DocumentRoot，将其后双引号中的内容换成"D:/HttpServer/webapps/"<br />2. 配置Apache的Resin模块：在httpd.conf最后添加如下代码<br />      LoadModule caucho_module "D:/HttpServer/resin/win32/apache-2.2/mod_caucho.dll"<br />      &lt;IfModule mod_caucho.c&gt;<br />        ResinConfigServer localhost 6800<br />        CauchoStatus yes<br />      &lt;/IfModule&gt;<br />3. 更改默认的访问文件：在httpd.conf中找到DirectoryIndex ，在其后添加index.jsp index.php<br />      注意：每个文件之间用空格间隔开<br />4. Resin虚拟目录配置：在resin.conf中找到如下行&lt;host id="" root-directory="."&gt;，然后加入<br />      &lt;web-app id="/import" root-directory="D:/HttpServer/webapps/import"/&gt;<br />      id为访问路径，root-directory为文档目录所在路径<br />5. 设置Resin为自启动：你必须先在系统环境变量中配置JAVA_HOME，然后在命令行窗口中进入Resin目录，输入httpd -install（安装Resin为Windows系统服务），httpd -remove（移除……）<br />经过以上步骤，Resin就可以监听处理所有Apache不能处理的文件，包括.jsp, .do及其它控制器路径，并同时解决了用80端口访问时图片相对路径不对的问题<br /><br />附二：Apache中加入PHP处理模块，并且屏蔽Resin3.1的PHP解释模块<br />1. 屏蔽resin的PHP处理模块：resin从3.0开始支持php，其3.1版本的PHP解释配置是在app-default.xml中（与resin.conf同一个目录），只要对servlet配置比较熟悉的都能在app-default.xml中轻易屏蔽PHP解释功能，打开app-default.xml后，用&lt;!--  --&gt;屏蔽如下代码即可：<br />      &lt;servlet servlet-name="resin-php"<br />           servlet-class="com.caucho.quercus.servlet.QuercusServlet"&gt;<br />      &lt;/servlet&gt;<br />      &lt;servlet-mapping url-pattern="*.php" servlet-name="resin-php"/&gt;<br />      &lt;welcome-file&gt;index.php&lt;/welcome-file&gt;<br />2. 配置Apache的PHP处理模块：在httpd.conf最后添加如下代码（我的PHP是装在D:/HttpServer/php5）<br />      ## Add php5 module<br />      LoadModule php5_module "D:/HttpServer/php5/php5apache2_2.dll"<br />      AddType application/x-httpd-php .php<br />      # Configure php.ini path<br />      PHPIniDir "D:/HttpServer/php5/" <br />呵呵，因为Resin的PHP配置不太熟悉，网上的资料也比较少，所以还是用了Apache+PHP的处理方式。<br /><img src ="http://www.blogjava.net/guming123416/aggbug/107472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2007-03-30 14:27 <a href="http://www.blogjava.net/guming123416/archive/2007/03/30/107472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用weblogic数据源大全</title><link>http://www.blogjava.net/guming123416/archive/2006/07/04/weblogic.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Tue, 04 Jul 2006 05:28:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2006/07/04/weblogic.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/56518.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2006/07/04/weblogic.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/56518.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/56518.html</trackback:ping><description><![CDATA[
		<p>首先创建weblogic数据源。<br />创建一个javabean取得数据源中的连接CONN<br />代码：<br />/**<br /> * 程序开发日期：2006-6-28-16:09:14 <br /> * javaworker.cn中程序员：叶明开发<br /> * 程序作用：从连接池中取出一条记录，使用创建数据库连接，以及释放该连接<br /> * 程序开发：<br /> */<br />package com.javawoker.yeming.jiemie.database;<br />import java.sql.Connection;<br />import java.sql.SQLException;<br />import javax.naming.Context;<br />import javax.naming.InitialContext;<br />import javax.sql.DataSource;<br />import org.apache.log4j.Logger;<br />/**<br /> <a href="mailto:*@author">*@author</a> 叶明 <a href="mailto:---guming123416@gmail.com">---guming123416@gmail.com</a><br /> <a href="mailto:*@version">*@version</a> $Id: v 1.01 2006/06/38 16:09:14 teodord Exp $<br /> */<br />public class Pubconn {<br /> <br /> /*<br />  * 创建私有变量conn为数据库连接对象中Connection<br />  * 创建私有变量dsye为数据库连接池的DataSource<br />  */<br /> <br /> private Connection conn;<br /> private DataSource dsye;<br /> private static Logger log=Logger.getLogger(Pubconn.class);<br /> /*<br />  * 创建构造函数Pubconn，在建立class中加载数据源的InitialContext<br />  */<br /> public Pubconn()<br /> {<br />  try{<br />   Context initCtx=new InitialContext();<br />   if(initCtx==null)<br />   {<br />    throw new Exception("不能加载文件Context");<br />   }<br />   dsye=(javax.sql.DataSource)initCtx.lookup("jdbc/yeming");<br />  }catch(Exception ex)<br />  {<br />   ex.printStackTrace();<br />   log.error("在加栽数据库连接池时间发生错误"+ex.getMessage());<br />  }<br /> }<br /> /*<br />  * 从连接池中取出一条连接变量<br />  * <br />  */<br /> public Connection getConn()<br /> {<br />  try{<br />   conn=dsye.getConnection();<br />  }catch(SQLException ex)<br />  {<br />   ex.printStackTrace();<br />   log.error("获得连接对象CONN时间发生错误"+ex.getMessage());<br />  }<br />  return conn;<br /> }<br /> /*<br />  * 关闭数据库连接，释放资源<br />  */<br /> public void closeConn(Connection conn)<br /> {<br />  try{<br />   if(conn!=null)<br />   {<br />    conn.close();<br />    conn=null;<br />   }<br />  }catch(SQLException ex)<br />  {<br />   ex.printStackTrace();<br />   log.error("关闭CONN时间发生错误"+ex.getMessage());<br />  }<br /> }</p>
		<p>}<br />然后建立调用页面<br />代码如下：<br /><br />&lt;%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GBK" contentType="text/html charset=gbk"%&gt;<br />&lt;jsp:useBean id="yeconn" scope="page" class="com.javawoker.yeming.jiemie.database.Pubconn"&gt;&lt;/jsp:useBean&gt;<br />&lt;%<br />Connection conn=yeconn.getConn();<br />Statement stmt=conn.createStatement();<br />String sql="select * from combasicinfo";<br />ResultSet rs=stmt.executeQuery(sql);<br />while(rs.next())<br />{<br />  out.println(rs.getInt(1));<br />  out.println(rs.getString(2));<br />}<br />rs.close();<br />stmt.close();<br />yeconn.closeConn(conn);<br />%&gt;<br /></p>
<img src ="http://www.blogjava.net/guming123416/aggbug/56518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2006-07-04 13:28 <a href="http://www.blogjava.net/guming123416/archive/2006/07/04/weblogic.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat连接池第一次使用-----配置了3个小时</title><link>http://www.blogjava.net/guming123416/archive/2006/03/23/37053.html</link><dc:creator>lovajava_ye</dc:creator><author>lovajava_ye</author><pubDate>Thu, 23 Mar 2006 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/guming123416/archive/2006/03/23/37053.html</guid><wfw:comment>http://www.blogjava.net/guming123416/comments/37053.html</wfw:comment><comments>http://www.blogjava.net/guming123416/archive/2006/03/23/37053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/guming123416/comments/commentRss/37053.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/guming123416/services/trackbacks/37053.html</trackback:ping><description><![CDATA[第一次使用tomcat连接池，成功了感觉特别高兴<img src ="http://www.blogjava.net/guming123416/aggbug/37053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/guming123416/" target="_blank">lovajava_ye</a> 2006-03-23 15:48 <a href="http://www.blogjava.net/guming123416/archive/2006/03/23/37053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>