Javaweb学习之servlet

来源:互联网 发布:想在淘宝开话费充值店 编辑:程序博客网 时间:2024/04/26 09:20

Servlet

宏观定义:sun制定的用java编写web 应用程序的规范,技术
微观定义:一个继承自HttpServlet,部署在webServer中可以处理客户端请求的Java类
Servlet 是一个用 Java 编写的程序,此程序在服务器上运行以处理客户端请求。
Servlet与Java类比较
servlet:继承httpservlet;必须在webserver运行;可以处理客户端需求;启动不需要main函数;由容器创建(new)实例;由容器调用doPost(),doGet()方法
Java:一般继承Object类,不需要webserver支持也能运行;不能处理客户端需求;启动需要main函数;自己创建实例;自己调用方法
Servlet 的生命周期
在一个Servlet的生命期中
 init()调用一次,一般第一次访问Servlet时调用
<load-on-startup>1</load-on-startup> 1,2,3,0WEB应用程序启动
 service()调用多次,每次访问时调用
 destroy()调用一次,应用程序关闭时调用
生命周期的各个阶段:
1,实例化--Servlet 容器创建 Servlet 的实例
2,初始化--该容器调用init()方法
3,服务--如果请求servlet,则调用service()方法
4,销毁--销毁实例之前调用destroy()方法
5,不可以--销毁之后标记为垃圾收集
request:容器生成,包装客户端请求信息
String value =request.getParameter ("pName");
String[] values =request.getParameterValues (" pName");
Request对象方法
getScheme()--协议;
getServletPath()--servlet路径;
getServletPort--端口;
getRequestURL()--全路径;
getRuquestURI()--当前请求项目下的路径;
getContextPath()--项目路径
 HttpServletReponse
本类封装了对用户的回应
void setContentType(String type)设置输出信息的类型和编码
注意:本方法必须要在信息输出前调用
PrintWriter getWriter() 返回一个PrintWriter对象,用来输出信息
   

Servlet间的通信
一次请求可以访问多个Servlet
多个servlet乊间可以相互通信
请求转发与重定向
request与attribute相关的三个方法 

0 0