﻿<?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-learning java-文章分类-java原创</title><link>http://www.blogjava.net/lmsun/category/3301.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 20:14:02 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 20:14:02 GMT</pubDate><ttl>60</ttl><item><title>Java环境变量设置</title><link>http://www.blogjava.net/lmsun/articles/17670.html</link><dc:creator>my java</dc:creator><author>my java</author><pubDate>Tue, 01 Nov 2005 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/lmsun/articles/17670.html</guid><wfw:comment>http://www.blogjava.net/lmsun/comments/17670.html</wfw:comment><comments>http://www.blogjava.net/lmsun/articles/17670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lmsun/comments/commentRss/17670.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lmsun/services/trackbacks/17670.html</trackback:ping><description><![CDATA[<P>JAVA_HOME=D:\j2sdk1.4.2_03<BR>Path=D:\j2sdk1.4.2_03;D:\j2sdk1.4.2_03\bin<BR>CLASSPATH=.;D:\j2sdk1.4.2_03\lib\tools.jar;D:\j2sdk1.4.2_03\lib\dt.jar;D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar;D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\jsp-api.jar</P>
<P> </P><img src ="http://www.blogjava.net/lmsun/aggbug/17670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lmsun/" target="_blank">my java</a> 2005-11-01 14:04 <a href="http://www.blogjava.net/lmsun/articles/17670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts in action 中的register-complete.war部署失败问题</title><link>http://www.blogjava.net/lmsun/articles/12537.html</link><dc:creator>my java</dc:creator><author>my java</author><pubDate>Fri, 09 Sep 2005 05:53:00 GMT</pubDate><guid>http://www.blogjava.net/lmsun/articles/12537.html</guid><wfw:comment>http://www.blogjava.net/lmsun/comments/12537.html</wfw:comment><comments>http://www.blogjava.net/lmsun/articles/12537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lmsun/comments/commentRss/12537.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lmsun/services/trackbacks/12537.html</trackback:ping><description><![CDATA[<P>struts in action 中的register-complete.war,在tomcat中部署后,当输入用户名和密码后总是给出failure页面的解决方法<BR><BR>1、首先将程序放在一下没有空格的目录中（不能放在如Program Files中）<BR>例如在D盘的根目录下新建目录：myregister.<BR>在 server.xml中加入：<BR>&lt;Context path="/myregister" <BR>docBase="d:\myregister\" <BR>crossContext="false"<BR>debug="0" <BR>reloadable="true" &gt; <BR><BR>&lt;Logger className="org.apache.catalina.logger.FileLogger"<BR>prefix="localhost_dbtest_log." suffix=".txt"<BR>timestamp="true"/&gt;<BR><BR>&lt;/Context&gt; <BR><BR></CONTEXT><BR>2、找到UserDirectory.java中下面代码：<BR>&nbsp;&nbsp;&nbsp; public void setUser(String userId, String password) throws<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UserDirectoryException {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no nulls<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((null==userId) || (null==password)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.print("userid is null");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // conform userId to uppercase when stored<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.put(fixId(userId), password);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String o = this.getClass().getClassLoader().getResource(UserDirectoryFile).getFile();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.store(new FileOutputStream(o), UserDirectoryHeader);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (IOException e) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P><BR>修改为：<BR>&nbsp;&nbsp;&nbsp; public void setUser(String userId, String password) throws<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UserDirectoryException {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no nulls<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((null==userId) || (null==password)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.print("userid is null");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // conform userId to uppercase when stored<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.put(fixId(userId), password);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String o = this.getClass().getClassLoader().getResource(UserDirectoryFile).getFile();<BR>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(o); //o is /D:/myregister/WEB-INF/classes/resources/users.properties<BR>&nbsp;&nbsp;&nbsp;&nbsp; String ostr=o.substring(1); // the&nbsp; line must be add is to use to remove the "/" in&nbsp; String o <BR>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ostr); //ostr is D:/myregister/WEB-INF/classes/resources/users.properties<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.store(new FileOutputStream(ostr), UserDirectoryHeader);//modify o as ostr</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (IOException e) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>注意最关键的是将：this.getClass().getClassLoader().getResource(UserDirectoryFile).getFile();所获得的字符串进行处理因为它前面多了一个"/"。需要去掉。<BR><BR><BR><BR>英文：<BR><BR>I found a solution to your problem </P>
<P>first step:<BR>you must deploy the application build a folder&nbsp; make sure you don't use<BR>a directory which has any spaces in the path (such as the Program Files directory on Windows)as this may<BR>cause the UserDirectoryException.<BR>such as build a folder "myregister"&nbsp; in Driver D and copy the program in it.</P>
<P>add the following codes to server.xml:</P>
<P>&lt;Context path="/myregister" <BR>docBase="d:\myregister\" <BR>crossContext="false"<BR>debug="0" <BR>reloadable="true" &gt; <BR><BR>&lt;Logger className="org.apache.catalina.logger.FileLogger"<BR>prefix="localhost_dbtest_log." suffix=".txt"<BR>timestamp="true"/&gt;<BR><BR>&lt;/Context&gt; <BR></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; </CONTEXT></P>
<P>second step:<BR>just find the following code within the 'UserDirectory.java'<BR>&nbsp;&nbsp;&nbsp; public void setUser(String userId, String password) throws<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UserDirectoryException {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no nulls<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((null==userId) || (null==password)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.print("userid is null");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // conform userId to uppercase when stored<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.put(fixId(userId), password);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String o = this.getClass().getClassLoader().getResource(UserDirectoryFile).getFile();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.store(new FileOutputStream(o), UserDirectoryHeader);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (IOException e) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P><BR>modify as follow: <BR>&nbsp;&nbsp;&nbsp; public void setUser(String userId, String password) throws<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UserDirectoryException {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // no nulls<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((null==userId) || (null==password)) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.print("userid is null");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // conform userId to uppercase when stored<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.put(fixId(userId), password);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String o = this.getClass().getClassLoader().getResource(UserDirectoryFile).getFile();<BR>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(o); //o is /D:/myregister/WEB-INF/classes/resources/users.properties<BR>&nbsp;&nbsp;&nbsp;&nbsp; String ostr=o.substring(1); // the&nbsp; line must be add is to use to remove the "/" in&nbsp; String o <BR>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(ostr); //ostr is D:/myregister/WEB-INF/classes/resources/users.properties<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.store(new FileOutputStream(ostr), UserDirectoryHeader);//modify o as ostr</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (IOException e) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new UserDirectoryException();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }</P>
<P><BR>by the way,the String o is /D:/myregister/WEB-INF/classes/resources/users.properties<BR>the String ostr is D:/myregister/WEB-INF/classes/resources/users.properties</P><img src ="http://www.blogjava.net/lmsun/aggbug/12537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lmsun/" target="_blank">my java</a> 2005-09-09 13:53 <a href="http://www.blogjava.net/lmsun/articles/12537.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>