Servlet总结

javax.servlet.*
Servlet 接口 定义了init service,destroy,getServletInfo,getServletConfig
GenericServlet 抽象类,实现Servlet接口,给出了除service方法外的其他方法的简单实现(不依赖协议)
void init(ServletConfig config) 调用Servlet接口中的init方法
String getInitParameter(String name) 返回名称为name的初始化参数
ServletContext getServletContext() 返回ServletContext对象的引用
通常只需重写不带参数的init()方法,如果重写init(ServletConfig config)方法,那么应该包含
super.init(config)这句代码
如果要编写一个通用的Servlet,只要继承自GenericServlet类,实现service()方法即可


ServletRequest 继承GenericServlet
当客户请求时,由Servlet容器创建ServletRequest对象,这个对象作为service方法的参数之一传递给
Servlet,Servlet能够利用ServletRequest对象获取客户端的请求数据
提供的方法:
Object getAttribute(String name)
void setAttribute(String name,Object object)
void removeAttribute(String name)


ServletResponse 继承GenericServlet
Servlet容器在接收请求时,除了创建ServletRequest对象,还创建了ServletResponse对象,用来封装响应数据,并同时将这两个对象作为参数传递给Servlet,Servlet利用ServletRequest对象获取客户端的请求数据,
经过处理后由ServletResponse对象发送响应数据
提供的方法:
PrintWriter getWriter() 返回PrintWriter对象,用于向客户端发送文本
String getCharacterEncoding() 返回在响应中发送的正文所使用的字符编码
void setCharacterEncoding() 设置发送到客户端的响应的字符编码
void setContentType(String type) 设置发送到客户端的响应内容类型,此时响应状态属于未提交


ServletConfig 接口 在Servlet初始化时,Servlet容器使用ServletConfig对象向该Servlet传递信息
提供的方法:
String getInitParameter(string name) 获取web.xml中设置的以name命名的初始化参数值
ServletContext getServletContext() 返回Servlet的上下文对象引用
一个Servlet只有一个ServletContext对象


ServletContext
一个ServletContext对象表示一个web应用的上下文,Servlet使用ServletContext接口定义的方法与它的
Servlet容器进行通信。
Servlet容器在应用程序加载时创建ServletContext对象,ServletContext对象被Servlet容器中的所有
Servlet共享,jsp隐含对象application是ServletContext的实例
提供的方法:
String getInitParameter(String name) 获取名称为name的系统范围内的初始化参数值,系统范围内的
初始化参数可以在部署描述符中使用<context-param>元素定义
void setAttribute(String name,String Object)
Object getAttribute(String name)
String getRealPath(String path) 返回相对路径的真实路径
void log(String message) 记录一般日志信息


----------------------------


javax.servlet.http.*
HttpServlet 抽象类,继承自GenericServlet,支持HTTP的post和get方法,并提供了与http相关的实现
HttpServlet能根据客户端发出的HTTP请求,进行处理并得到相应结果,结果封装到HttpServletRequest对象中
提供的方法:
void service(ServletRequest req,ServletResponse res) 调用GenericServlet类中的service()方法的实现
void doXXX(ServletRequest req,ServletResponse res)
如果要编写Servlet就一定要继承HttpServlet类,从中将需要响应到客户端的数据封装到HttpServletResponse对象中


HttpServletRequest 继承ServletRequest,增加了一些用于读取请求信息的方法,
String getContextPath() 返回URI中表示请求上下文的路径,上下文路径是请求URI的开始部分
Cookie[] getCookies() 返回客户端在此次请求中发送的所有Cookie对象
HttpSession getSession() 返回和此次请求相关联的Session,如果没有给客户端分配Session,则创建一个新的Session
String getMethod() 返回此次请求所使用的HTTP方法的名字,如GTE,POST


HttpServletResponse 继承ServletResponse,增加了一些额外方法
void addCookie(Cook cookie) 增加一个Cookie到响应中,这个方法可多次调用,设置多个Cookie
void addHeader(Stirng name, Stirng value) 将一个名为name值为value的响应报头添加到响应中
void sendRedirect(String location) 发送一个临时的重定向响应到客户端,以便客户端访问新的URL
void encodeURL(String url) 使用sessionID对用于重定向的URL进行编码,以便用于sendRedirect()方法中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值