Servlet 总结

一.serlvet


servlet是一个Java编写的程序,此程序是基于Http协议的,在服务器端运行的。

二.Servlet的主要作用以及功能:
读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。


三、Servlet的生命周期
Servlet的生命周期是从该servlet创建到注销的整个过程,整个过程中servlet会执行以下的过程:
调用init () 方法进行初始化。
调用service() 方法来处理客户端的请求。
调用 destroy() 方法终止(结束)。
最后由 JVM 的垃圾回收器进行垃圾回收。

四.HttpServletRequest接口获取请求行的方法
1.getMethod();返回HTTP请求信息中的请求方式(get,post)
2.getRequestURl();返回请求行的地址
3.getQueryString()返回请求参数
4.getProtocol();返回协议名
5.getContextPath()返回 项目名
6.getPathInfo()返回URl中的额外的路径信息
7.getServletPath()返回Servlet的名称
五、获取网络信息链接
1.getRemoteAddr()返回发出请求的客户端的IP地址
2.getRemoteHost()返回发出请求的客户端的主机名
3.getRemotePort()返回客户端的端口号
4.getLocalName()返回当前请求的网络接口的端口号
5.getServerName()返回当前请求所指向的主机名
6.getServerPort()返回请求连接的服务器的端口号
7.getScheme()返回请求的协议名
六、servlet与jsp的区别
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
4.对于静态HTML标签,Servlet都必须使用页面输出流逐行输出
七.怎样理解Servlet的单实例多线程?
不同的用户同时对同一个业务(如注册)发出请求,那这个时候容器里产生的有是几个servlet实例呢?
答案是:只有一个servlet实例。一个servlet是在第一次被访问时加载到内存并实例化的。同样的业务请求共享一个servlet实例。不同的业务请求一般对应不同的servlet。
由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值