﻿<?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-愚僧-随笔分类-servlet &amp; jsp</title><link>http://www.blogjava.net/ilqjs/category/53330.html</link><description>赢与输的差别通常是--不放弃</description><language>zh-cn</language><lastBuildDate>Wed, 27 Feb 2013 08:11:44 GMT</lastBuildDate><pubDate>Wed, 27 Feb 2013 08:11:44 GMT</pubDate><ttl>60</ttl><item><title>uri url 总结</title><link>http://www.blogjava.net/ilqjs/archive/2013/02/27/395782.html</link><dc:creator>ywm</dc:creator><author>ywm</author><pubDate>Wed, 27 Feb 2013 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/ilqjs/archive/2013/02/27/395782.html</guid><wfw:comment>http://www.blogjava.net/ilqjs/comments/395782.html</wfw:comment><comments>http://www.blogjava.net/ilqjs/archive/2013/02/27/395782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ilqjs/comments/commentRss/395782.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ilqjs/services/trackbacks/395782.html</trackback:ping><description><![CDATA[<br />uri : Uniform Resource Identifier 统一资源标识<br />url : Uniform Resource Locator &nbsp; 统一资源定位<br /><br />异:<br />url是uri的一个子集<br />url可以用相对路径表示, url 只能用绝对路径表示<br /><br />同:<br />url,uri 都能定位唯一资源<br /><br />注:<br /><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">[</span><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">scheme</em><tt style="line-height: 25px; background-color: #eeeedd;"><strong>:</strong></tt><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">][</span><tt style="line-height: 25px; background-color: #eeeedd;"><strong>//</strong></tt><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">authority</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">][</span><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">path</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">][</span><tt style="line-height: 25px; background-color: #eeeedd;"><strong>?</strong></tt><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">query</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">][</span><tt style="line-height: 25px; background-color: #eeeedd;"><strong>#</strong></tt><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">fragment</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">]<br /></span><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">authority为[</span><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">user-info</em><tt style="line-height: 25px; background-color: #eeeedd;"><strong>@</strong></tt><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">]</span><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">host</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">[</span><tt style="line-height: 25px; background-color: #eeeedd;"><strong>:</strong></tt><em style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">port</em><span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #eeeedd;">]</span><br />相对路径和绝对路径看是否使用"scheme:"开头<br /><br />From : <a href="http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html">http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html</a><br />From :&nbsp;<a href="http://rebecca.iteye.com/blog/234724">http://rebecca.iteye.com/blog/234724</a><br /><br /><a href="http://rebecca.iteye.com/blog/234724"><br /></a><img src ="http://www.blogjava.net/ilqjs/aggbug/395782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ilqjs/" target="_blank">ywm</a> 2013-02-27 10:59 <a href="http://www.blogjava.net/ilqjs/archive/2013/02/27/395782.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>路径获取和处理</title><link>http://www.blogjava.net/ilqjs/archive/2013/02/22/395559.html</link><dc:creator>ywm</dc:creator><author>ywm</author><pubDate>Fri, 22 Feb 2013 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/ilqjs/archive/2013/02/22/395559.html</guid><wfw:comment>http://www.blogjava.net/ilqjs/comments/395559.html</wfw:comment><comments>http://www.blogjava.net/ilqjs/archive/2013/02/22/395559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ilqjs/comments/commentRss/395559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ilqjs/services/trackbacks/395559.html</trackback:ping><description><![CDATA[<h1><span style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px;">test1.jsp=======================</span></h1><div id="cnblogs_post_body" style="color: #4b4b4b; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 19px; word-break: normal !important;"><p style="margin-top: 10px; margin-bottom: 10px;">&lt;a href ="test.jsp?p=fuck"&gt;跳转到test2&lt;/a&gt;</p><p style="margin-top: 10px; margin-bottom: 10px;">test2.jsp=======================</p><p style="margin-top: 10px; margin-bottom: 10px;">&lt;%@ page language="java" import="java.util.*" pageEncoding="gb2312"%&gt;<br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";</p><p style="margin-top: 10px; margin-bottom: 10px;">out.println("basePath:"+basePath);<br />out.println("&lt;br/&gt;");<br />out.println("getContextPath:"+request.getContextPath());<br />out.println("&lt;br/&gt;");<br />out.println("getServletPath:"+request.getServletPath());<br />out.println("&lt;br/&gt;");<br />out.println("getRequestURI:"+request.getRequestURI());<br />out.println("&lt;br/&gt;");<br />out.println("getRequestURL:"+request.getRequestURL());<br />out.println("&lt;br/&gt;");<br />out.println("getRealPath:"+request.getRealPath("/"));<br />out.println("&lt;br/&gt;");<br />out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));<br />out.println("&lt;br/&gt;");<br />out.println("getQueryString:"+request.getQueryString());</p><p style="margin-top: 10px; margin-bottom: 10px;">%&gt;</p><p style="margin-top: 10px; margin-bottom: 10px;"><strong>请求路径:</strong><br />http://localhost:8080/test/test.jsp?p=fuck</p><p style="margin-top: 10px; margin-bottom: 10px;"><strong>显示结果：</strong></p><p style="margin-top: 10px; margin-bottom: 10px;"><strong>basePath</strong>:http://localhost:8080/test/</p><p style="margin-top: 10px; margin-bottom: 10px;"><strong>getContextPath</strong>:/test&nbsp;<br /><strong>getServletPath</strong>:/test.jsp&nbsp;<br /><strong>getRequestURI</strong>:/test/test.jsp&nbsp;<br /><strong>getRequestURL</strong>:http://localhost:8080/test/test.jsp&nbsp;<br /><strong>getRealPath</strong>:D:\Tomcat 6.0\webapps\test\&nbsp;<br /><strong>getServletContext().getRealPath</strong>:D:\Tomcat 6.0\webapps\test\&nbsp;<br /><strong>getQueryString</strong>:p=fuck</p><p style="margin-top: 10px; margin-bottom: 10px;">在一些应用中，未登录用户请求了必须登录的资源时，提示用户登录，此时要记住用户访问的当前页面的URL，当他登录成功后根据记住的URL跳回用户最后访问的页面：</p><p style="margin-top: 10px; margin-bottom: 10px;">String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();<br /><br />from :&nbsp;<a href="http://www.cnblogs.com/JemBai/archive/2010/11/10/1873764.html">http://www.cnblogs.com/JemBai/archive/2010/11/10/1873764.html</a></p></div><img src ="http://www.blogjava.net/ilqjs/aggbug/395559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ilqjs/" target="_blank">ywm</a> 2013-02-22 10:56 <a href="http://www.blogjava.net/ilqjs/archive/2013/02/22/395559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp动态包涵和静态包涵</title><link>http://www.blogjava.net/ilqjs/archive/2013/02/21/395548.html</link><dc:creator>ywm</dc:creator><author>ywm</author><pubDate>Thu, 21 Feb 2013 15:10:00 GMT</pubDate><guid>http://www.blogjava.net/ilqjs/archive/2013/02/21/395548.html</guid><wfw:comment>http://www.blogjava.net/ilqjs/comments/395548.html</wfw:comment><comments>http://www.blogjava.net/ilqjs/archive/2013/02/21/395548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ilqjs/comments/commentRss/395548.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ilqjs/services/trackbacks/395548.html</trackback:ping><description><![CDATA[<p style="line-height: 25px; margin: 0px 0px 10px; padding: 0px; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #ffffff;"><span>1. 语法格式</span></p><p style="line-height: 25px; margin: 0px 0px 10px; padding: 0px; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #ffffff;"></p><ul><li><span>静态包含：&lt;%@ include file="被包含页面" %&gt;；</span></li><li><span>动态包含：&lt;jsp:include page="被包含页面" /&gt;。</span></li></ul><p>&nbsp;</p><p style="line-height: 25px; margin: 0px 0px 10px; padding: 0px; font-family: Arial, Helvetica, simsun, u5b8bu4f53; background-color: #ffffff;"><span>2. 区别</span><br /></p><p style="margin: 0px 0px 10px; padding: 0px;"></p><ul><li><span style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;">导入路径 : 静态包含是相对于被包含页面, 动态包含是相对于包含页面</span></li><li><span style="font-family: Arial, Helvetica, simsun, u5b8bu4f53; line-height: 25px;">动态包含先编译成servlet然后包涵(2个servlet) , 静态包含先包含后解析成一个servlet</span></li></ul><span>3.相同点</span><br /><ul><li><span>公用一个request</span></li></ul><p>&nbsp;</p><p>&nbsp;</p><img src ="http://www.blogjava.net/ilqjs/aggbug/395548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ilqjs/" target="_blank">ywm</a> 2013-02-21 23:10 <a href="http://www.blogjava.net/ilqjs/archive/2013/02/21/395548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ServletContext 与application的异同</title><link>http://www.blogjava.net/ilqjs/archive/2013/02/21/395528.html</link><dc:creator>ywm</dc:creator><author>ywm</author><pubDate>Thu, 21 Feb 2013 07:45:00 GMT</pubDate><guid>http://www.blogjava.net/ilqjs/archive/2013/02/21/395528.html</guid><wfw:comment>http://www.blogjava.net/ilqjs/comments/395528.html</wfw:comment><comments>http://www.blogjava.net/ilqjs/archive/2013/02/21/395528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ilqjs/comments/commentRss/395528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ilqjs/services/trackbacks/395528.html</trackback:ping><description><![CDATA[<div style="font-size: 13px; margin: 0px; padding-bottom: 10px; color: #333333; font-family: Arial; background-color: #ffffff; clear: both; line-height: 20px;"><h2>ServletContext&nbsp;与application的异同</h2>&nbsp;</div><div id="sina_keyword_ad_area2"  "="" style="font-size: 13px; line-height: normal; margin: 0px; padding-top: 18px; padding-bottom: 30px; color: #333333; background-color: #ffffff; width: 690px; clear: both; word-wrap: normal; word-break: normal; overflow: hidden; font-family: simsun;"><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;"><span style="margin: 0px; padding: 0px; color: #ff0000; word-wrap: normal; word-break: normal;">相同</span>：其实servletContext和application 是一样的，就相当于一个类创建了两个不同名称的变量。在&nbsp;<wbr style="margin: 0px; padding: 0px;"></p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;servlet中ServletContext就是application对象。大家只要打开jsp编译过后生成的Servlet中的</p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;_jspService()方法就可以看到如下的声明：<br style="margin: 0px; padding: 0px;" />&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">ServletContext application = null;</p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;application = pageContext.getServletContext();&nbsp;<wbr style="margin: 0px; padding: 0px;"></p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;"><span style="margin: 0px; padding: 0px; color: #ff0000; word-wrap: normal; word-break: normal;">不同</span>：两者的区别就是application用在jsp中，servletContext用在servlet中。application和page&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;"></p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">request session 都是JSP中的内置对象，在后台用ServletContext存储的属性数据可以用&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;"></p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;application对象获得。<br style="margin: 0px; padding: 0px;" />&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;<wbr style="margin: 0px; padding: 0px;"></p><p style="margin: 0px 0px 10px; padding: 0px; border-width: 0px; list-style: none; word-wrap: normal; word-break: normal;">而且application的作用域是整个Tomcat启动的过程。<br style="margin: 0px; padding: 0px;" />例如: ServletContext.setAttribute("username",username);<br style="margin: 0px; padding: 0px;" />则在JSP网页中可以使用&nbsp;<wbr style="margin: 0px; padding: 0px;">&nbsp;application.getAttribute("username");<br style="margin: 0px; padding: 0px;" />来得到这个用户名。<br /><br /><br />from:<a href="http://blog.csdn.net/xiepeifeng/article/details/6615085" style="color: #3f3d3d; text-decoration: initial;">http://blog.csdn.net/xiepeifeng/article/details/6615085</a><br /></p></div><img src ="http://www.blogjava.net/ilqjs/aggbug/395528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ilqjs/" target="_blank">ywm</a> 2013-02-21 15:45 <a href="http://www.blogjava.net/ilqjs/archive/2013/02/21/395528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>