Javaweb开发中的servlet知识总结
- 格式:docx
- 大小:21.03 KB
- 文档页数:6
Java web开发中的servlet知识总结
1. 请求(request)—响应(response)模式:用户在浏览器的地址栏中输入一个网址并回
车,浏览器会向服务器发送一个HTTP请求,服务器端程序接受这个请求,并对请求做
出处理,然后发出一个回应,浏览器收到这个回应,并把回应的内容显示出来,这就是web应用程序的访问过程。
2. HTTP协议:浏览器单击链接是,会向服务器发送一段文本,告诉服务器请求的是那个
网页,这段文本遵循HTTP协议格式,包含访问方式,HTTP协议版本,所用的浏览器,访问的地址等。
3. Servlet概述:Java web应用程序中所有的请求与响应都是通过servlet来完成的,servlet
是java web的核心程序,所有的网址最终都要交给servlet来处理,servlet没有main之类的执行方法,当用户访问服务器是,服务器通过调用servlet的某些方法来处理整个过程。4. Servlet的工作流程:浏览器提交的数据是遵循HttP协议的文本,这段文本由服务器接
受并解析,封装成httpservletrequest类型的request对象,所有的http头数据都可以通过request的相应方法得到。Tomcat同时把输出流圭寸装成HTTPServletresponse类型的
response,通过设置response的相关属性就可以控制输出的内容,然后服务器将request 和response作为参数,调用servlet的相应方法比如doPost,doGet等。
5. Servlet的作用:主要处理业务逻辑,比如读取数据库,权限检查,业务处理等。
6. Servlet 接口:servlet 是一种实现了javax.servlet.Servlet 接口的类,servlet 规定了特定的
方法来处理特定的请求,开发者只需要实现servlet的相应方法,用户访问web程序的时候,服务器会调用这些方法来完成业务处理。
7. 访问方式:servlet是建立在HTTP规范基础上的,HTTP1.1支持options , get, post, head ,
put,delete,以及trace七种访问方式,各方式的意义分别是:
Get表示查询信息,URL中可以附少量的参数信息,但是URL总长度不能超过255个字符,并且参数会显示在浏览器的地址栏。
Post表示提交信息,一般用于提交大数据信息或者文件,提交的内容不受长度限制,并且不会显示在浏览器的地址栏。
Options,put,delete,trace属于被声明了,但是没有被使用的web访问方式,现在的浏览器也很少用到这几种方式。
8. Java web目录结构:web程序部署在tomcat下的webapps下面,一个webapps下可以部署
法和从服务器移除的方法,这些方法称为生命周期方法,它们是按以下顺序调用的:构造servlet,然后使用init()方法将其初始化
处理来自客户端对service ()的全部调用
从服务器中取出servlet,然后使用destory()方法将其销毁,最终进行垃圾回收并终止它。
10. servlet 的方法:
(1)public void destory()
(2)public void init(ServletConfig config ) throws ServletException
(3)public void service(ServletRequest req,ServletResponse res)throws
ServletExcepti on,j ava.i o.IO excepti on
(4)public ServletConfig getServletConfig()
(5)p ublic String getServletInfo() 11 .编写servlet:
直接实现servlet接口来编写servlet很不方便,需要实现的方法太多,真正编写servlet时直接实现httpservlet,并覆盖相应的方法即可,一般只需要覆盖doGet()或doPost()方法。在myeclipse中,可以之间新建一个servlet,且默认已经完成配置。
12. 请求和相应:
客户端浏览器发出一个请求,服务器做出一系列操作后做出一个响应,发送给浏览器,完成
一次web过程操作,web编程的过程就是分析客户需要什么信息或者做出什么操作,然后进行一系列的处理,然后通过相应结果显示给客户。
(1) 获取request的变量:客户端浏览器发出的请求被封装成一个httpservletrequest对
象,所有的信息包括请求的方式,请求的参数,请求的地址,上传的文件,提交的数据,客户端Ip地址甚至客户端操作系统信息都包含在其中。
getContentLength()
返回请求正文的长度(以字节为单位) 返
,并使输入流可以使用它,如果长度未知,则回-,对于HTTP servlet,返回的值与CGI
变量CONTENT_LENGTH勺值相同。
getContentType ()
返回请求正文的MIME类型,如果该类型未知,则返回null。对于HTTP servlet,返回的值与CGI变量CONTENT_TYP的值相同。
getLocalAddr ()
返回接收请求的接口的In ternet Protocol (IP) 地址。
getLocalPort ()
返回接收请求的接口的In ternet Protocol (IP) 端口号。getLocale ()
基于Accept-La nguage头,返回客户端将用来接受内容的首选Locale 如果
客户端请求没有提供Accept-La nguage头,则此方法返回服务器的默认语
言环境
getRemotePort ()
返回发送请求的客户端或最后一个代理的In ternet Protocol (IP) 源端
口。
getMethod ()
返回用于发出此请求的HTTP方法的名称,例如GET POST或PUT。返
回的值与CGI变量REQUEST_METH(的值相同。
getProtocol ()
以protocol/majorVersion.minorVersion 的形式(例如HTTP/1.1 )返
回请求使用的协议的名称和版本。对于HTTPservlet,返回的值与CGI变
量SERVER_PROTOC的值相同。
getQueryString ()
返回包含在请求URL中路径后面的查询字符串。如果URL没有查询字符
串,则此方法返回null。返回的值与CGI变量QUERY_STRING值相同。
getRequestDispatcher (String path)
返回一个RequestDispatcher对象,它充当位于给定路径上的资源的包装器。可以使用RequestDispatcher 对象将请求转发给资源,或者在响应中包含资源。
资源可以是动态的,也可以是静态的。