`

servlet之我见

阅读更多

18.  servlet的生命周期是由tomcat来管理 的。是一个单例模式,能负责servlet这样的一个生命周期,就叫容器,最基本的生命周期的管理 。

 

 

19.  

<servlet>

<serlvet-name>fs</servlet-name>

<servlet-class>FirstServlet</servlet-class>

</serlet>

<servlet-mapping>

<servlet-name>fs</servlet-name>

<url-pattern>/servlet/FirstServlet</url-pattern>

</servlet-mapping>

/servlet/FirstServlet   servlet目录是虚的,没有这个目录。访问的时候要用,访问这个就找到了fs,,,打开了fs,就找到了FirstServlet.

 

 

20.  他说开发java的时候有时会遇到jvm   8080端口被占用,遇到这样是因为tomcat也启动了一个java进程,你把进程列表中java.exe占用内存较少的那个结束了就可以了。

 

 

21.  httplook1251他用了这个工具,能监测http协议执行的过程。

 

 

22.  其实先到达GenericServlet中的service(),再根据service()来调用doGet(),doPost(),你是get我就调用doGet().

 

 

23.  HttpServlet继承了GenericServlet就是在这个类里面有一个service()方法,通过这个方法来调度get和post请求。

servlet是接口,下面是GenericServlet继承了,再是HttpServlet又继承了。

 

24.  你去看Tomcat对Servlet的实现,他实现HttpServlet,里面写了

 

 

25.   jar文件就用rar文件解压开,然后里面是不是都是一些.class文件,我的机器上有反编译工具,用那个打开就可以看到里面的东西是什么了,可以看到HttpServlet,就是tomcat实现了的,里面有一个service()方法,这个方法来判断你过来的是什么请求,如果是get就调用doGet().         我们写的时候继承了HttpServlet,覆盖了,覆盖了就是我们的了。你是get过来,我就用doGet方式处理。

 

 

26. 虽说sun对于HttpServlet实现了方法,但是apache中的tomcat对于上一层的接口再实现了一次,有了自己的实现。

 

 

27.  我们从事web开发,主要处理两个对象,request,response.

 

 

28.  servlet它就创建一个实例,怎么服务呢?多线程 ,tomcat还有一个热部署的概念。知道是什么吧,不用解释了。

 

 

29.  当浏览器的页面上显示一些如404之类 的错误,怎么出来的呢?都是从servlet里面出来的。你可以看到为什么会报比如405错误,你去看一下,servlet里面是不是有定义什么情况下抛出405错误啊。

 

 

30.  当tomcat   new一个servlet的时候,会调用init(),是先会在内存中实例化这个servlet,再调用init(),方法这个方法只会调用一次。destroy(){}当我们服务销毁,就会调用这个方法。

servlet是这样初始化的,用自己的无参构造方法,接下来,又调用了初始化方法,然后调用service(),通过service()分发,调用doGet()或doPost(),就一个实例,提供多线程服务,所以存在线程安全问题,

 

比如,你在servlet里面放一些成员变量,大家一块来改的话,就会出现数据不一致,所以写servlet的时候,应该注意这些问题。

 

servlet只实例化一次,init()方法也只执行一次。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics