﻿<?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-Java你我他(她)...-文章分类-Jsp和Servlet专题 </title><link>http://www.blogjava.net/happy-java3000/category/8504.html</link><description>我是一个Java Fans, 希望在此与广大java fans开避一块自己的天地, 一起交流.</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 20:20:31 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 20:20:31 GMT</pubDate><ttl>60</ttl><item><title>Struts配置文件解析</title><link>http://www.blogjava.net/happy-java3000/articles/41710.html</link><dc:creator>java你我他(她)...</dc:creator><author>java你我他(她)...</author><pubDate>Tue, 18 Apr 2006 10:30:00 GMT</pubDate><guid>http://www.blogjava.net/happy-java3000/articles/41710.html</guid><wfw:comment>http://www.blogjava.net/happy-java3000/comments/41710.html</wfw:comment><comments>http://www.blogjava.net/happy-java3000/articles/41710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/happy-java3000/comments/commentRss/41710.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/happy-java3000/services/trackbacks/41710.html</trackback:ping><description><![CDATA[
		<p>Struts配置文件解析：<br />1、首先使用Struts进行安装配置，在当前应用下创建当前应用的目录结构,，把Struts安装文件中lib目录下的JAR文件放到当前应用的lib目录下。<br />2、在WEB-INF目录下必须配置文件：<br />web.xml、struts-config.xml。<br />3、web.xml<br />  以例子加注释解析吧：</p>
		<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;!-- 固定格式 --&gt;</p>
		<p>&lt;!DOCTYPE web-app<br />  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"<br />  "<a href="http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">http://java.sun.com/j2ee/dtds/web-app_2_2.dtd</a>"&gt;</p>
		<p>
				<br />&lt;!-- WEB应用配置 --&gt;<br />&lt;web-app&gt;<br />  &lt;display-name&gt;HelloApp Struts Application&lt;/display-name&gt;<br />  <br />  &lt;!-- Standard Action Servlet Configuration  --&gt;<br />  &lt;servlet&gt;<br />    &lt;-- struts action类的servlet配置 --&gt;<br />    &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />    &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;<br />   <br />    &lt;!-- 配置Action类的初始化参数名为config，值为 /WEB-INF/struts-config.xml--&gt;<br />    &lt;init-param&gt;<br />      &lt;param-name&gt;config&lt;/param-name&gt;<br />      &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;<br />    &lt;/init-param&gt;<br />     &lt;load-on-startup&gt;2&lt;/load-on-startup&gt;<br />  &lt;/servlet&gt;</p>
		<p>  &lt;!-- Standard Action Servlet Mapping  servlet类映射到对应的URL--&gt;<br />  &lt;servlet-mapping&gt;<br />    &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />    &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />  &lt;/servlet-mapping&gt;<br />    <br /> &lt;!-- The Usual Welcome File List 应用的默认显示页面--&gt;<br />  &lt;welcome-file-list&gt;<br />    &lt;welcome-file&gt;hello.jsp&lt;/welcome-file&gt;<br />  &lt;/welcome-file-list&gt;</p>
		<p> </p>
		<p>  &lt;!-- Struts Tag Library Descriptors Struts自带的标签库--&gt;<br />  &lt;!-- 还有struts-nested.tld和struts-tiles.tld --&gt;<br />  &lt;taglib&gt;<br />    &lt;taglib-uri&gt;/WEB-INF/struts-bean.tld&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/struts-bean.tld&lt;/taglib-location&gt;<br />  &lt;/taglib&gt;</p>
		<p>  &lt;taglib&gt;<br />    &lt;taglib-uri&gt;/WEB-INF/struts-html.tld&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/struts-html.tld&lt;/taglib-location&gt;<br />  &lt;/taglib&gt;</p>
		<p>  &lt;taglib&gt;<br />    &lt;taglib-uri&gt;/WEB-INF/struts-logic.tld&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/struts-logic.tld&lt;/taglib-location&gt;<br />  &lt;/taglib&gt;<br />&lt;/web-app&gt;<br /><br />4、servlet-config.xml<br />     用struts来写bean和action类对应关系都在servlet-config.xml配置<br />     下面以配置文件加注释加以说明：<br /><br />&lt;!-- 配置文件固定格式 --&gt;<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "<a href="http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd</a>"&gt;<br /><br />&lt;!-- struts配置标签 --&gt;<br />&lt;struts-config&gt;<br /><br />  &lt;!-- bean的配置，指定bean名字为hello2Form，type对应的是bean类 --&gt;<br />  &lt;form-beans&gt;<br />      &lt;form-bean name="hello2Form" type="hello2.Hello2Form" /&gt;<br />  &lt;/form-beans&gt;<br /><br />  &lt;!-- action-mapping配置， 可以有多个action标签--&gt;<br />  &lt;action-mappings&gt;<br /><br />    &lt;!--<br />        input----action对应的请求页面<br />        name----和bean标签的name对应，是这个action对应的哪一个bean<br />        path ----action类对应的URL，是请求页面路径，使用时以path.do的形式。<br />        score----请求范围，有两种：request，session<br />        type ----指定对应的action类<br />        validate----指定是否通过FormBean验证。<br />    --&gt;<br />    &lt;action input="/Hello2.jsp" name="hello2Form" path="/hello2" scope="request"  type="hello2.Hello2Action" validate="true"&gt;<br /><br />       &lt;--           <br />            name----转发请求名<br />            path  ----用于指定请求转发的url<br />        --&gt;<br />        &lt;forward name="hello2" path="/Hello2.jsp" /&gt;<br /><br />    &lt;/action&gt;<br /><br />    &lt;!--<br />        此action可以不通bean和action关联，可以在当前应用下通过<br />        <a href="http://IP:port/applicationpath/hello.do">http://IP:port/applicationpath/hello.do</a>,就可以转发到logon.jsp页面。<br />        path----和前一个action的path一样，使用方式path.do<br />        forward----请求path.do对应的页面<br />    --&gt;<br />    &lt;action path="/hello" forward="/logon.jsp" /&gt;<br /><br />  &lt;/action-mappings&gt;<br /><br />  &lt;!-- 指定配置文件Resources的位置 --&gt;<br />  &lt;message-resources parameter="hello2.Resources" /&gt;<br />  <br />  &lt;!-- 用于bean的验证 --&gt;<br />  &lt;plug-in className="org.apache.struts.validator.ValidatorPlugIn"&gt;<br />    &lt;set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /&gt;<br />  &lt;/plug-in&gt;<br />&lt;/struts-config&gt;<br /></p>
<img src ="http://www.blogjava.net/happy-java3000/aggbug/41710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/happy-java3000/" target="_blank">java你我他(她)...</a> 2006-04-18 18:30 <a href="http://www.blogjava.net/happy-java3000/articles/41710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用javascript实现form表单用户名\密码的验证</title><link>http://www.blogjava.net/happy-java3000/articles/35511.html</link><dc:creator>java你我他(她)...</dc:creator><author>java你我他(她)...</author><pubDate>Wed, 15 Mar 2006 17:45:00 GMT</pubDate><guid>http://www.blogjava.net/happy-java3000/articles/35511.html</guid><wfw:comment>http://www.blogjava.net/happy-java3000/comments/35511.html</wfw:comment><comments>http://www.blogjava.net/happy-java3000/articles/35511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/happy-java3000/comments/commentRss/35511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/happy-java3000/services/trackbacks/35511.html</trackback:ping><description><![CDATA[<P>以实例说明问题吧：<BR><BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;javascript validate sample&lt;/title&gt;<BR>&lt;script language="javascript" src="common.js"&gt;&lt;/script&gt;<BR><BR>&lt;!--<BR>下面是一段javascript代码，定义一个函数inputCheck()，实现实现form表单用户名\密码的验证<BR>--&gt;<BR>&lt;script language="javascript"&gt;<BR>&lt;!--<BR>&nbsp;&nbsp;&nbsp; function inputCheck()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var eleValue = document.form1.userName.value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(eleValue == "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("please input your username!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.form1.userName.focus();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eleValue = document.form1.password.value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(eleValue == "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("please input your password!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.form1.password.focus();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eleValue = document.form1.age.value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!isNumber(eleValue))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("age requires number only!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.form1.age.focus();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eleValue = document.form1.introduction.value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(eleValue.length &gt; 2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("max length execeeded!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.form1.introduction.select();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;<BR>&nbsp;&nbsp;&nbsp; }<BR>--&gt;<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR><BR>&lt;body&gt;<BR><BR>&lt;!--&nbsp;是一个简单的form表单，通过调用javascript function实现验证&nbsp;--&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;form name="form1" method="post" action=""&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;table border="1" align="center"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;UserName&lt;font color="red"&gt;*&lt;/font&gt;&lt;/td&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;input type="text" name="userName" value="" maxlength="15" size="10"&gt;&lt;/td&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;Password&lt;font color="red"&gt;*&lt;/font&gt;&lt;/&lt;/td&gt;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;input type="password" name="password" value="" maxlength="15" size="10"&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="4" align="center"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="submit" value=" ok " onclick="return inputCheck()"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="reset" value=" clear "&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/form&gt;<BR><BR>&lt;body&gt;</P><img src ="http://www.blogjava.net/happy-java3000/aggbug/35511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/happy-java3000/" target="_blank">java你我他(她)...</a> 2006-03-16 01:45 <a href="http://www.blogjava.net/happy-java3000/articles/35511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp include 与 jsp:include的区别</title><link>http://www.blogjava.net/happy-java3000/articles/35509.html</link><dc:creator>java你我他(她)...</dc:creator><author>java你我他(她)...</author><pubDate>Wed, 15 Mar 2006 17:07:00 GMT</pubDate><guid>http://www.blogjava.net/happy-java3000/articles/35509.html</guid><wfw:comment>http://www.blogjava.net/happy-java3000/comments/35509.html</wfw:comment><comments>http://www.blogjava.net/happy-java3000/articles/35509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/happy-java3000/comments/commentRss/35509.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/happy-java3000/services/trackbacks/35509.html</trackback:ping><description><![CDATA[<FONT face=Courier size=2>jsp:include</FONT> 只不过是一个不同于 <CODE><FONT face=Courier size=2>include</FONT></CODE> 的伪指令而已。 <CODE><FONT face=Courier size=2>jsp:include</FONT></CODE> 的优点在于：它<I>总是</I>会检查所含文件中的变化。而jsp include则不会, 可以认为是静态包含。下面是两则区别的代码：<BR><BR>1．jsp include<BR><BR><FONT face="Lucida Console">&lt;%@ page language="java" contentType="text/html;charset=gb2312" %&gt;<BR>&lt;html&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;head&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;JSP include element test&lt;/title&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/head&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;body&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This content is statically in the main JSP file.&lt;br /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%@ include file="included.html" %&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/body&gt;<BR>&lt;/html&gt;<BR></FONT><BR>2．jsp:include<BR>&nbsp;&nbsp;&nbsp; 同上面是一个页面，只不过这里转成使用 <CODE><FONT face=Courier size=2>jsp:include</FONT></CODE> 标记<BR><BR><FONT face="Lucida Console">&lt;%@ page language="java" contentType="text/html;charset=gb2312" %&gt;<BR>&lt;html&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;head&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;JSP include element test&lt;/title&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/head&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;body&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This content is statically in the main JSP file.&lt;br /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;jsp:include page="included.html" flush="true" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/body&gt;<BR>&lt;/html&gt;<BR><BR><BR></FONT><BR><img src ="http://www.blogjava.net/happy-java3000/aggbug/35509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/happy-java3000/" target="_blank">java你我他(她)...</a> 2006-03-16 01:07 <a href="http://www.blogjava.net/happy-java3000/articles/35509.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>