Servlet篇
1、 网络通讯中,端口有什么含义.端口的取值范围?
端口在网络通讯中是指TCP/IP协议中的端口,是逻辑意义上的端口,如果一个IP地址是一个房间,那么端口就是进入这个房间的门,一个IP地址的端口可以有65536个,端口是通过端口号来标记的,端口号只有整数,端口号的范围是0-65535。
一台计算机可以在不同的端口提供不同的网络服务,这些网络服务就是靠IP地址+端口号来区分的.
2.jsp是如何被容器调用和执行的?
Web容器处理JSP文件请求的执行过程主要包括以下4个部分:
1. 客户端发出Request请求
2. JSP Container 将JSP转译成Servlet的源代码
3. 将产生的Servlet源代码经过编译后,并加载到内存执行
4. 把结果Response(响应)至客户端
很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。
在执行JSP网页时,通常可以分为两个时期:转译时期(Translation Time)和请求时期(Request Time)
转译时期:JSP网页转移成Servlet类。
请求时期:Servlet类执行后,响应结果至客户端。
转译期间做了两件事情:
转译时期:将JSP网页转移为Servlet源代码 .java.
编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.
当JSP网页在执行时,JSP Container 会做检查工作,如果发现JSP网页有更新修改时,JSP Container 才会再次编译JSP成 Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet.
3、JSP的本质就是一个Servlet,通常称为是小应用程序,Servlet提供不同的方法响应客户端请求。Doget(),doPost(),doPut(),doDelet(),事实上客户端的请求通常只有doGet(),doPost(),所以Servlet必须重写这俩个方法,如果Servlet为了响应4种方式的请求那就得实现4个方法,这样情况下可以采用重写一个service()方法来代替上边的几个方法,即可实现响应客户端的所有请求,service(ServletRequest req,ServletResponse res)函数 ,这个函数用来处理我们servlet的业务逻辑,浏览器每访问一次servlet应用,这个函数便被调用一次,关于它的两个参数:ServletRequest 用于获得浏览器的信息,ServletResponse用于向浏览器返回信息,当使用res向浏览器返回信息时,必须通过res的getWriter()获得PrintWriter,具体写法可以是这样:
PrintWriter pw = res.gerWriter();
另外Httpservlet还包含了init(),destroy()方法。通常情况下这俩个方法是不用重写的,除非需要在初始化Servlet时,完成某些资源初始化的方法,才考虑重写init(),init(ServletConfig config)是用于初始化servlet,这个函数只会在浏览器第一次访问该servlet的时候被调用一次,之后便不再被调用;如果需要在销毁Servlet之前,先要完成某些资源的回收,比如说是数据连接等,那就考虑重写destory方法。
不用为Servlet类编写构造器,如果需要对Servlet执行初始化操作,应将初始化操作放在Servlet的init()方法中定义,如果重写了init(ServletConfig config)方法,则应该在重写该方法的第一行调用super.init(config)。该方法将调用HttpServlet的init方法。
Servet创建有俩个时机,用户请求时或是应用启动时。
4、Servlet和JSP的区别:
Servlet中没有内置对象,原来JSP中的内置对象都必须有程序显示创建。
对于静态的HTML标签,Servlet都必须使用页面输出流逐行输出。然后在加上JSP是servlet的一种简化。
5、Servlet监听器的实现原理
|
Web监听器: Servlet规范中定义的一种特殊类,用于监听ServletContext,HttpSession和ServletRequset等域对象的创建于销毁事件,用于监听域对象的属性发生修改的事件,可以在事件发生前,发生后做一些必要的处理。 一个Web监听器的步骤: 创建一个实现监听器接口的类 配置web.xml进行注册<mapping></mapping> Servlet的新特性:
|

浙公网安备 33010602011771号