|
92 | 92 | <meta property="og:url" content="https://geekhoon.github.io/2017/04/02/JavaWeb-07-Servlet/index.html"> |
93 | 93 | <meta property="og:site_name" content="geekhoon"> |
94 | 94 | <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/,最为重要.Web资源分为静态资源与动态资源静态资源: HTML,文件,CSS,图片…动态资源: 由程序生成的,每次访问内容可能不一样,如Servlet,JSP"> |
| 100 | +<meta name="twitter:image" content="https://geekhoon.github.io/;<br>死亡: 服务器被正常关闭(destory)或停止;</p> |
390 | 392 | <p>init –> 初始化数据;<br>service –> 处理请求;<br>destory –> 释放资源;</p> |
391 | 393 | <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="</p> |
392 | 396 | <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">在<servlet>中配置:</div><div class="line"><!-- 取值为0或正整数:服务器启动时初始化(数字越小,越优先); --></div><div class="line"><load-on-startup>1</load-on-startup></div><div class="line">一般从2开始设置,因为1是默认Servlet的优先级</div></pre></td></tr></table></figure> |
393 | 397 | <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> 地址栏中的路径,必须和配置的完全一样 |
394 | 398 | </strong>2.目录匹配<em>*<br> /目录1/目录2/…./</em><br> 地址栏中路径,必须完全符合目录,但是目录后面的路径编写随意</p> |
@@ -654,7 +658,7 @@ <h3 id="访问路径编写"><a href="#访问路径编写" class="headerlink" tit |
654 | 658 |
|
655 | 659 |
|
656 | 660 |
|
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> |
658 | 662 |
|
659 | 663 | </div> |
660 | 664 | </section> |
|
0 commit comments