Skip to content

Commit 48b7271

Browse files
committed
Site updated: 2018-06-05 00:07:45
1 parent 45a5532 commit 48b7271

File tree

5 files changed

+56
-19
lines changed

5 files changed

+56
-19
lines changed

2017/04/02/JavaWeb-07-Servlet/index.html

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,12 @@
9292
<meta property="og:url" content="https://geekhoon.github.io/2017/04/02/JavaWeb-07-Servlet/index.html">
9393
<meta property="og:site_name" content="geekhoon">
9494
<meta property="og:description" content="概述1.概念Servlet是运行在服务器端的Java小程序,是Sun公司提供的一套规范,用来处理客户端请求的动态资源.Servlet是JavaWeb三大组件之一(Servlet,Filter,Listener),最为重要.Web资源分为静态资源与动态资源静态资源: HTML,文件,CSS,图片…动态资源: 由程序生成的,每次访问内容可能不一样,如Servlet,JSP">
95-
<meta property="og:updated_time" content="2018-05-30T17:27:13.458Z">
95+
<meta property="og:image" content="https://geekhoon.github.io/![mark](http://oj3s07yy0.bkt.clouddn.com/blog/20180605/000657320.png">
96+
<meta property="og:updated_time" content="2018-06-04T16:07:16.794Z">
9697
<meta name="twitter:card" content="summary">
9798
<meta name="twitter:title" content="Servlet">
9899
<meta name="twitter:description" content="概述1.概念Servlet是运行在服务器端的Java小程序,是Sun公司提供的一套规范,用来处理客户端请求的动态资源.Servlet是JavaWeb三大组件之一(Servlet,Filter,Listener),最为重要.Web资源分为静态资源与动态资源静态资源: HTML,文件,CSS,图片…动态资源: 由程序生成的,每次访问内容可能不一样,如Servlet,JSP">
100+
<meta name="twitter:image" content="https://geekhoon.github.io/![mark](http://oj3s07yy0.bkt.clouddn.com/blog/20180605/000657320.png">
99101

100102

101103

@@ -389,6 +391,8 @@ <h3 id="MyServlet-java"><a href="#MyServlet-java" class="headerlink" title="MySe
389391
<h2 id="Servlet生命周期"><a href="#Servlet生命周期" class="headerlink" title="Servlet生命周期"></a>Servlet生命周期</h2><p>出生: 服务器启动,用户第一次访问Servlet,Servlet被初始化(init出生);<br>死亡: 服务器被正常关闭(destory)或停止;</p>
390392
<p>init –&gt; 初始化数据;<br>service –&gt; 处理请求;<br>destory –&gt; 释放资源;</p>
391393
<p>Servlet生命周期:Servlet从创建到销毁的过程.<br> 何时创建:用户第一次访问Servlet创建Servlet的实例<br> 何时销毁:当项目从服务器中移除的时候,或者关闭服务器的时候.<br><strong>表述:</strong><br>用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).当Servlet项目从服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.</p>
394+
<p>当XXXServlet第一次被访问被初始化后,其他用户再访问XXXServlet的时候,不会重复创建,使用的是同一个XXXServlet,所以Servlet是单例的。</p>
395+
<h2 id="Servlet访问流程"><a href="#Servlet访问流程" class="headerlink" title="Servlet访问流程"></a>Servlet访问流程</h2><p><img src="![mark](http://oj3s07yy0.bkt.clouddn.com/blog/20180605/000657320.png" alt="">)</p>
392396
<h3 id="设置Servlet初始化时机"><a href="#设置Servlet初始化时机" class="headerlink" title="设置Servlet初始化时机"></a>设置Servlet初始化时机</h3><figure class="highlight"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div></pre></td><td class="code"><pre><div class="line">在&lt;servlet&gt;中配置:</div><div class="line">&lt;!-- 取值为0或正整数:服务器启动时初始化(数字越小,越优先); --&gt;</div><div class="line">&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</div><div class="line">一般从2开始设置,因为1是默认Servlet的优先级</div></pre></td></tr></table></figure>
393397
<h3 id="url-pattern配置"><a href="#url-pattern配置" class="headerlink" title="url-pattern配置"></a>url-pattern配置</h3><p>Servlet映射URL时,URL的取值:<br><strong>1.完全路径匹配</strong><br><strong> /目录1/目录2/….<br> 地址栏中的路径,必须和配置的完全一样
394398
</strong>2.目录匹配<em>*<br> /目录1/目录2/…./</em><br> 地址栏中路径,必须完全符合目录,但是目录后面的路径编写随意</p>
@@ -654,7 +658,7 @@ <h3 id="访问路径编写"><a href="#访问路径编写" class="headerlink" tit
654658

655659

656660

657-
<div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#概述"><span class="nav-number">1.</span> <span class="nav-text">概述</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet实现方式"><span class="nav-number">2.</span> <span class="nav-text">Servlet实现方式</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#版本1"><span class="nav-number">2.1.</span> <span class="nav-text">版本1</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#版本2"><span class="nav-number">2.2.</span> <span class="nav-text">版本2</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#版本3"><span class="nav-number">2.3.</span> <span class="nav-text">版本3</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#HttpServlet源码分析"><span class="nav-number">2.3.1.</span> <span class="nav-text">HttpServlet源码分析</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#适配器设计模式"><span class="nav-number">3.</span> <span class="nav-text">适配器设计模式</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet编写具体实现"><span class="nav-number">4.</span> <span class="nav-text">Servlet编写具体实现</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#配置文件"><span class="nav-number">4.1.</span> <span class="nav-text">配置文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#login-html"><span class="nav-number">4.2.</span> <span class="nav-text">login.html</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#MyServlet-java"><span class="nav-number">4.3.</span> <span class="nav-text">MyServlet.java</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet生命周期"><span class="nav-number">5.</span> <span class="nav-text">Servlet生命周期</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#设置Servlet初始化时机"><span class="nav-number">5.1.</span> <span class="nav-text">设置Servlet初始化时机</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#url-pattern配置"><span class="nav-number">5.2.</span> <span class="nav-text">url-pattern配置</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#访问路径编写"><span class="nav-number">5.3.</span> <span class="nav-text">访问路径编写</span></a></li></ol></li></ol></div>
661+
<div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#概述"><span class="nav-number">1.</span> <span class="nav-text">概述</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet实现方式"><span class="nav-number">2.</span> <span class="nav-text">Servlet实现方式</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#版本1"><span class="nav-number">2.1.</span> <span class="nav-text">版本1</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#版本2"><span class="nav-number">2.2.</span> <span class="nav-text">版本2</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#版本3"><span class="nav-number">2.3.</span> <span class="nav-text">版本3</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#HttpServlet源码分析"><span class="nav-number">2.3.1.</span> <span class="nav-text">HttpServlet源码分析</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#适配器设计模式"><span class="nav-number">3.</span> <span class="nav-text">适配器设计模式</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet编写具体实现"><span class="nav-number">4.</span> <span class="nav-text">Servlet编写具体实现</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#配置文件"><span class="nav-number">4.1.</span> <span class="nav-text">配置文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#login-html"><span class="nav-number">4.2.</span> <span class="nav-text">login.html</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#MyServlet-java"><span class="nav-number">4.3.</span> <span class="nav-text">MyServlet.java</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet生命周期"><span class="nav-number">5.</span> <span class="nav-text">Servlet生命周期</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Servlet访问流程"><span class="nav-number">6.</span> <span class="nav-text">Servlet访问流程</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#设置Servlet初始化时机"><span class="nav-number">6.1.</span> <span class="nav-text">设置Servlet初始化时机</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#url-pattern配置"><span class="nav-number">6.2.</span> <span class="nav-text">url-pattern配置</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#访问路径编写"><span class="nav-number">6.3.</span> <span class="nav-text">访问路径编写</span></a></li></ol></li></ol></div>
658662

659663
</div>
660664
</section>

0 commit comments

Comments
 (0)