tomcat some things about servlet

http://zhidao.baidu.com/question/60394105.html
something need to improve:

how to use eclipse to create a servlet?

what's a servlet's basic code (a template)

 

 

 

 

 refered to the link:

   http://blog.csdn.net/wangzeyou0415/archive/2006/10/08/1326339.aspx

 

How do a servlet work?
please check the servlet's working procession via the attached file:  Servlet work Flow.jpg
 
 
若conf/servlet.xml中<Context>的屬性reloadable=”true”(默认值是false),
那WEBAPP的Classes,lib下面的類改變后,就会在一小段时间后自动重新被裝載
 
 
 
initial a servlet:
control the time servlet initial once the tomcat start
<servlet>
        <servlet-name>invoker</servlet-name>
        <servlet-class>
          org.apache.catalina.servlets.InvokerServlet
        </servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
 <load-on-startup>2</load-on-startup>
             // the more little, the earlier tomcat will load this servlet, once it less than or equals 0, it mean nothing, so the tomcat will judge itself when 
                should load it
//數字越小越早加載,依賴性越小.負數跟0無意義,加載順序由Web服務器判斷
</servlet>
 
control a servlet's initial parameters:
 
<servlet>
    <servlet-name></servlet-name>
    <servlet-class></servlet-class>
    <init-param>
        <param-name> ParameterName1 </param-name>
        <param-value>ParameterValue1</param-value>
    </init-param>
    <init-param>
        <param-name> ParameterName2 </param-name>
        <param-value>ParameterValue2</param-value>
    </init-param>
</servlet>
 
通过Servlet接口的init(ServletConfig)傳入的物件來取得參數, 一些相关类: 
ServletContext à每個WebApp都有一個上下文
ServletConfig  à被GenericServlet類實現
getServletContext()
getInitParameterNames()
 
 
 
Default servlet:      org.apache.catalina.servlets.DefaultServlet  (define in %tomcat%/conf/web.xml)
凡是在web.xml文件中找不到匹配的Serlvet映射URL時,他們的請求都交由預設servlet來處理,即缺省Servlet用於處理所以有其他Servlet都不處理的訪問請求.就算訪問一個HTML文件
 
<servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>/</url-pattern>   //用這個來標示缺省的
</servlet-mapping>   
//所有的靜態資源(靜態HTML,File,Img)等等都由這個默認的Servlet來響應請求.
 
 
 
(若某个context被删除后不久又自动重新出现) if a context auto-create after it was deleted,    It just because:
there are some define content in the server.xml file, just search with the context's path to search it.
 
web服务器内幕:  
 
 
 
 
 
set enviroment varities for tomcat itself: (just define them in these two files) 
setclasspath.bat    setclasspath.sh
 
 
 
 
 
 
How do Tomcat start?
check the attached file:  Tomcat Start Procession.jpg
 
System類裝載器通過bin/setclasspath.bat來設置CLASSPATH,可以通過修改該批處理文件來添加新的CLASSPATH
Common類所裝載的類對於Tomcat跟WEbApp都是可見的.負責加載common/lib下的所有jar包
Catalina類所裝載的類只對於Tomcat可見.負責加載server/libserver/classes的Jar包
Shared負責加載shared/libshared/classes下面的jar包
WebAppX類裝載器負責加載當前應用程序的/WEB-INF/classes中的類文件
,還有/WEB-INF/lib中的jar包.用到的第三方jar包都應該放到lib下面,或是把自己的類打包圍jar放到lib下
 
SUN公司的Servlet的類裝載器建議是子裝載器能裝就用子裝載器裝,不然在搜尋父曾,跟原來的JDK標準剛好相反..但是TOMCAT沒有遵守SUN的Servlet建議,還是跟JDK標準一樣~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值