//昨天家里宽带欠费,就没有更新、
1.什么是Servlet?
Servlet是用来处理客户端请求并产生动态网页内容的Java类。Servlet主要是用来处理或者是存储HTML表单提交的数据,产生动态内容,再无状态的HTTP协议下管理状态信息。
2.说一些Servlet的体系结构。
所有的Servlet都必须要实现的核心接口是javax.servlet.Servlet。每一个Servlet都必须直接或者间接实现这个接口,或者是继承javax.servlet.GenericServlet.最后,Servlet使用多现线程可以并行的多个请求服务。
3.Applet和Servlet有什么区别?
Applet是运行在客户端主机的浏览器上的客户端java程序。而Servlet是运行在web服务器上的服务端的组件。applet可以使用用户界面类,而Servlet没有用户界面,相反,Servlet是等待客户端的HTTP请求,然后为请求产生响应。
4.解释下Servlet的生命周期。
对每一个客户端的请求,Servlet引擎载入Servlet,调用它的init()方法,完成Servlet的初始化。然后,Servlet对象通过为每一个请求单独调用service()方法来处理所有随后来自客户端的请求,最后调用Servlet的destroy()方法把Servlet删除掉。
5.doGet()方法和doPost()方法有什么区别?
doGet:GET方法会把名值对追加在请求的URL后面。因为URL对字符数目有限制,进而限制了用在客户端请求的参数值得数目。并且请求中的数目都是可见的,所以,敏感信息不能通过这种方式传递。
doPost:POST方法通过把请求参数值放在请求体中来克服GET方法的限制,因此,可以发送的参数数目是没有限制的。最后,通过POST请求传递的敏感信息对外部客户端是不可见的。
6.什么是web应用程序?
Web应用程序是对Web或者是应用服务器的动态扩展。有两种类型的Web应用:面向表现的和面向服务的。
面向表现的Web应用程序会产生包含了很多种标记语言和动态内容的交互的web页面作为请求的响应。
面向服务的Web应用实现了Web服务的端点。
一般来说,一个Web应用程序可以看做是一组安装在服务器URL名称空间的特定子集下面的Servlet的集合。
7.什么是服务端包含(Server Side Include)?
服务端包含是一种简单的解释型服务端脚本语言,大多数时候仅用在Web上,用servlet标签嵌入进来。SSI最常用的一个场景是把一个或者多个文件包含到Web服务器的一个Web页面中。当浏览器访问web页面时,Web服务器会用对应的servlet产生的文本来替换Web页面的servlet标签。
8.什么是Servlet链?
Servlet链是把一个Servlet的输出发送给另一个Servlet的方法。第二个Servlet的输出可以发送给三个Servlet,以此类推。链条上的最后一个Servlet负责把响应发送到客户端。
9.如何知道是哪一个客户端的机器正字请求你的Servlet?
ServletRequest类可以找出客户端机器的IP地址或者是主机名。getRemoteAddr()方法获取客户端主机的IP地址,getRemoteHost()可以获取主机名。