Servlet学习笔记1,及回忆。

The Servlet Technology Model Servlet 标准格式:

import java.io.* ;

import javax.servlet.* ;

import javax.servlet.http.* ;  

public class HelloWorld extends HttpServlet { public void doXXX (HttpServletRequest request , HttpServletResponse response ) throws ServletException , IOException { 

request.setCharacterEncoding(“Big5”) ;

response.setContentType(“text/html”) ;    

 PrintWriter out = response.getWriter() ; }

Bullet PONINT:BOOK 《SCWCD》 35页。

 GET:参数以Query String 附在URL尾端,长度有限制,具体依赖于WEB SERVER,等幂的。

 Query String(查询字符串):附在URL后端 (?后面以&符号隔开)。

 协议表现形式:方法名(GET)、请求资源(通常是URL形式)、附加输入、协议名(HTTP)。

 POST:参数以 Request Content 传送,数据长度不限,不是等幂的。

协议表现形式:方法名(POST)、请求资源(通常是URL形式)、协议名(HTTP)

 Request Content(请求内容):POST方法由此传送请求参数(Request Parameter)或client端上传之资料。

 Bullet PONINT:BOOK 《SCWCD》 58页。

WEB容器的功能:

1、通信的支持,为WEB应用当中的SERVLET提供了简单的方法进行通信。

 2、SERVELT生命周期的管理,控制着SERVELT的产生及消亡。负责SERVLET类的载入,实例化,初始化,SERVICE方法的运行,调用正确的GET或POST方法,及消亡垃圾处理。

 3、多线程的支持,为正在运行SERVICE方法的实例,当又有请求时创建线程。

 4、安全的声明和管理。

5、JSP的支持。

Servlet 生命周期 Bullet PONINT:BOOK 《SCWCD》 124 125页

javax.servlet.Servlet 接口定义了五个方法,以下三个方法最重要: init(ServletConfig config)  Servlet 启动时,每个Servlet(不管有多少产生多少请求,只有一个SERVLET实例)只会被执行一次 。service(ServletRequest req , ServletResponse res) ,每次有请求时,Servlet皆会执行,分配适当的,Doget()或Dopost()方法当然还有其他方法,通常常有的是上面所说两个。 destroy()  Servlet 关闭时,执行一次执行之后,等待WEB容器进行垃圾回收. 这个与JAVA语言当中对象的finalize()方法的原理相似。

 HttpServlet extends GenericServlet implements java.io.Serializable

GenericServlet extends Object implements Servlet , ServletConfig , java.io.Serializable

HttpServletRequest   HttpServletResponse两个接口分别继承于(接口继承哦)Servlet Request、SevlettResponse,具体的有请求产生WEB容器会实现HttpServletRequest   HttpServletResponse这两个接口,产生HttpServletRequest  和 HttpServletResponse对象。

取得HTTP请求内容(Request)

javax.servlet.ServletRequest 接口定义了下列主要方法:

1.用来读取Servlet的请求内容String getParameter(String anme)  ,取得特定参数的"值"String [] ;2.getParameterValues(String name) 取得特定参数的多个"值";

3.Enumeration getParameterNames() 取得所有参数名称;

4.String getRemoteAddr()  从request对象取得客户端IP地址。

5String getRemoteHost()  从request对象取得客户端主机名称。

6.int getRemotePort()  从request对象取得客户端HTTP连接端口号码。 

javax.servlet.http.HttpServletRequest 接口提供下列主要方法:

1取得HTTP请求之标头(Header)资料:String getHeader(String name)  取得特定标头的"值";

2.Enumeration getHeaders(String name)  取得特定标头的多个"值";

3.Enumeration getHeaderNames()  取得所有标头名称

4RequestDispatcher getRequestDispatcher(String name) 把请求和响应转到到一个名为name的JSP或SERVLET。

5Cookie[] getCookies()取得所有Cookie的名称及内容 取得客户端Cookie资料例:Cookie[] cookie = request.getCookies() ;将Cookie数据传送至客户端,使用HttpServletResponse接口的addCookie(Cookie cookie)方法。例:  String userid = request.getParameter(“userid”) ;         Cookie c = new Cookie(“uid” , userid ) ;         response.addCookie(c) ;  

设定HTTP Servlet响应内容(Response)  Bullet PONINT:BOOK<<SCWCD>> 124 125页javax.servlet.ServletResponse 接口提供的方法如下:

1.void setContentType(String type) è设定HTTP响应内容型态。

2.PrintWriter getWriter()  针对HTTP响应产生字符串数据流(text stream)。

3.ServletOutputStream getOutputStream()  è针对HTTP响应产生二进制数据流(binary stream)。

 javax.servlet.http.HttpServletResponse 接口提供的方法如下:

1.void setHeader(String name , String value)  设定Header , 如遇到同 name 则覆写。

2.void addHeader(String name , String value)  设定Header , 如遇到同 name 则附加。

3.void setDateHeader(String name , long date)

4.void addDateHeader(String name , long date)

5void setIntHeader(String name , int value)

6.void addIntHeader(String name , int value)

7.void sendError(int sc)  将错误信息送给客户端。

8.void sendError(int sc , String msg)  将错误信息送给客户端,再加上”自订信息”。

9.void sendRedirect(String location)  定向至其它URL。这是发生在客服端,HttpServletRequest的,getRequestDispatcher发生在服务器端。

10.void addCookie(Cookie cookie)  将Cookie加入HTTP响应。

  javax.servlet.ServletConfig 提供以下方法:

1.String getInitParameter(String name)  取得Servlet起始参数的”值”。

2.Enumeration getParameterNames()  取得Servlet起始参数名称。

3.ServletContext getServletContext()  è取得ServletContext对象。

4.String getServletName()  取得Servlet对象名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值