Javaweb开发中的servlet知识总结

上传人:桔**** 文档编号:458591704 上传时间:2023-01-09 格式:DOCX 页数:6 大小:24.54KB
返回 下载 相关 举报
Javaweb开发中的servlet知识总结_第1页
第1页 / 共6页
Javaweb开发中的servlet知识总结_第2页
第2页 / 共6页
Javaweb开发中的servlet知识总结_第3页
第3页 / 共6页
Javaweb开发中的servlet知识总结_第4页
第4页 / 共6页
Javaweb开发中的servlet知识总结_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Javaweb开发中的servlet知识总结》由会员分享,可在线阅读,更多相关《Javaweb开发中的servlet知识总结(6页珍藏版)》请在金锄头文库上搜索。

1、Java web 开发中的servlet知识总结1. 请求(request)响应(response)模式:用户在浏览器的地址栏中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求,服务器端程序接受这个请求,并对请求做出处理,然后发出一个回应,浏览器收到这个回应,并把回应的内容显示出来,这就是web应用程序的访问过程。2. HTTP协议:浏览器单击链接是,会向服务器发送一段文本,告诉服务器请求的是那个网页,这段文本遵循HTTP协议格式,包含访问方式,HTTP协议版本,所用的浏览器,访问的地址等。3. Servlet概述:Java web应用程序中所有的请求与响应都是通过servlet来完成

2、的,servlet是java web的核心程序,所有的网址最终都要交给servlet来处理,servlet没有main之类的执行方法,当用户访问服务器是,服务器通过调用servlet的某些方法来处理整个过程。4. Servlet的工作流程:浏览器提交的数据是遵循HttP协议的文本,这段文本由服务器接受并解析,封装成httpservletrequest类型的request对象,所有的http头数据都可以通过request的相应方法得到。Tomcat同时把输出流封装成HTTPServletresponse类型的response,通过设置response的相关属性就可以控制输出的内容,然后服务器将r

3、equest和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七

4、种访问方式,各方式的意义分别是:Get表示查询信息,URL中可以附少量的参数信息,但是URL总长度不能超过255个字符,并且参数会显示在浏览器的地址栏。Post表示提交信息,一般用于提交大数据信息或者文件,提交的内容不受长度限制,并且不会显示在浏览器的地址栏。Options,put,delete,trace属于被声明了,但是没有被使用的web访问方式,现在的浏览器也很少用到这几种方式。8. Java web 目录结构:web程序部署在tomcat下的webapps下面,一个webapps下可以部署多个web项目,根据servlet规范,web程序自己有特定的结构,部署时必须安装这样的目录结构:

5、文件夹描述/Web应用根目录/WEB-INF/WEB-INF文件夹,tomcat会隐藏该文件夹下的所有文件和文件夹,保护它们不能通过浏览器直接访问。/WEB-INF/web.xmlWeb.xml,web程序最主要的配置文件/WEB-INF/lib/Jar文件放在该目录下9. servlet:servlet是一个接口,此接口定义了初始化servlet的方法,为请求提供服务的方法和从服务器移除的方法,这些方法称为生命周期方法,它们是按以下顺序调用的:l 构造servlet,然后使用init()方法将其初始化l 处理来自客户端对service()的全部调用l 从服务器中取出servlet,然后使用d

6、estory()方法将其销毁,最终进行垃圾回收并终止它。10. servlet的方法:(1)public void destory()(2)public void init(ServletConfig config ) throws ServletException(3)public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOexception(4)public ServletConfig getServletConfig()(5)public String get

7、ServletInfo()11编写servlet: 直接实现servlet接口来编写servlet很不方便,需要实现的方法太多,真正编写servlet时直接实现httpservlet,并覆盖相应的方法即可,一般只需要覆盖doGet()或doPost()方法。在myeclipse中,可以之间新建一个servlet,且默认已经完成配置。12请求和相应:客户端浏览器发出一个请求,服务器做出一系列操作后做出一个响应,发送给浏览器,完成一次web过程操作,web编程的过程就是分析客户需要什么信息或者做出什么操作,然后进行一系列的处理,然后通过相应结果显示给客户。(1) 获取request的变量:客户端浏

8、览器发出的请求被封装成一个httpservletrequest对象,所有的信息包括请求的方式,请求的参数,请求的地址,上传的文件,提交的数据,客户端Ip地址甚至客户端操作系统信息都包含在其中。l getContentLength()返回请求正文的长度(以字节为单位),并使输入流可以使用它,如果长度未知,则返回 1,对于 HTTP servlet,返回的值与 CGI 变量 CONTENT_LENGTH 的值相同。 l getContentType()返回请求正文的 MIME 类型,如果该类型未知,则返回 null。对于 HTTP servlet,返回的值与 CGI 变量 CONTENT_TYPE

9、 的值相同。 l getLocalAddr()返回接收请求的接口的 Internet Protocol (IP) 地址。l getLocalPort()返回接收请求的接口的 Internet Protocol (IP) 端口号。l getLocale()基于 Accept-Language 头,返回客户端将用来接受内容的首选 Locale。如果客户端请求没有提供 Accept-Language 头,则此方法返回服务器的默认语言环境l getRemotePort()返回发送请求的客户端或最后一个代理的 Internet Protocol (IP) 源端口。l getMethod()返回用于发出此

10、请求的 HTTP 方法的名称,例如 GET、POST 或 PUT。返回的值与 CGI 变量 REQUEST_METHOD 的值相同。l getProtocol()以 protocol/majorVersion.minorVersion 的形式(例如 HTTP/1.1)返回请求使用的协议的名称和版本。对于 HTTP servlet,返回的值与 CGI 变量 SERVER_PROTOCOL 的值相同。l getQueryString()返回包含在请求 URL 中路径后面的查询字符串。如果 URL 没有查询字符串,则此方法返回 null。返回的值与 CGI 变量 QUERY_STRING 的值相同。

11、 getRequestDispatcher(String path)返回一个 RequestDispatcher 对象,它充当位于给定路径上的资源的包装器。可以使用 RequestDispatcher 对象将请求转发给资源,或者在响应中包含资源。资源可以是动态的,也可以是静态的。 指定的路径名可以是相对的,尽管它无法扩展到当前 servlet 上下文之外。如果该路径以 / 开头,那么可以相对于当前上下文根解释它。如果 servlet 容器无法返回 RequestDispatcher,则此方法将返回 null。l getScheme()返回用于发出此请求的方案的名称,例如 http、https

12、或 ftp。不同方案具有不同的构造 URL 的规则,这一点已在 RFC 1738 中注明。(2) 获取相应的变量:l addCookie(Cookie cookie)将指定 cookie 添加到响应。可多次调用此方法设置一个以上的 cookie。l addDateHeader(String name, long date)用给定名称和日期值添加响应头。该日期根据距历元时间的毫秒数指定。此方法允许响应头有多个值l encodeRedirectURL(String url)对指定 URL 进行编码,以便在 sendRedirect 方法中使用它,如果不需要编码,则返回未更改的 URL。此方法的实现

13、包含可以确定会话 ID 是否需要在 URL 中编码的逻辑。因为进行此确定的规则可能不同于用来确定是否对普通链接进行编码的规则,所以此方法与 encodeURL 方法是分开的。l encodeURL(String url)通过将会话 ID 包含在指定 URL 中对该 URL 进行编码,如果不需要编码,则返回未更改的 URL。此方法的实现包含可以确定会话 ID 是否需要在 URL 中编码的逻辑。例如,如果浏览器支持 cookie,或者关闭了会话跟踪,则 URL 编码就不是必需的。l sendError(int sc, String msg) throws java.io.IOException使用

14、指定状态将错误响应发送到客户端。默认情况下,服务器将创建类似 HTML 格式的服务器错误页面的响应,该页面包含指定消息,内容类型设置为 text/html,并且保持 cookie 和其他头不变。 如果已经对 Web 应用程序进行了对应于传入状态代码的错误页面声明,则将优先处理建议的 msg 参数。l sendRedirect(String location) throws java.io.IOException使用指定重定向位置 URL 将临时重定向响应发送到客户端。此方法可以接受相对 URL;servlet 容器必须在将响应发送到客户端之前将相对 URL 转换为绝对 URL。如果位置是相对的

15、,没有前导 /,则容器将相对于当前请求 URI 对其进行解释。如果位置是相对的,有一个前导 /,则容器将相对于 servlet 容器根对其进行解释。 如果已经提交了响应,则此方法抛出 IllegalStateException。使用此方法后,响应应该被视为已经被提交,不能再写入。l setHeader(String name, String value)用给定名称和值设置响应头。如果已经设置了头,则新值将重写以前的值。containsHeader 方法可用于测试在设置其值之前头是否存在。l setStatus(int sc)设置此响应的状态代码。此方法用于设置没有错误时的返回状态代码(例如状态

16、代码 SC_OK 或 SC_MOVED_TEMPORARILY)。如果有错误,并且调用者希望调用 Web 应用程序中定义的错误页面,则应改用 sendError 方法。 容器清除缓冲区,设置 Location 头,并保留 cookie 和其他头l setCharacterEncoding(String charset)设置将发送到客户端的响应的字符编码 (MIME charset),例如,将它设置为 UTF-8。如果已通过 #setContentType 或 #setLocale 设置了字符编码,则此方法将重写该字符编码。用 text/html 的 String 调用 #setContentType 并用 UTF-8 的 String 调用此方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号