Servlet

定义

servlet是使用java语言编写的运行在服务器端的程序,可以理解为java的一个接口。
servlet由servlet容器(tomcat)提供,支持所有http协议请求和响应。

功能

Servlet主要处理客户端传来的http请求,并返回一个响应。能够处理请求包含doGet()、doSet();

接口实现类

sun公司提供两个默认的接口实现类:

  1. GenericServlet(抽象类abstract)
  2. HTTPServlet(GenericServlet的子类)
    常用方法
方法声明功能描述
doGet()get
doPost()post
doPut()put

生命周期

  1. 初始化阶段:init();调用一次
  2. 运行阶段:servlet每次访问都会调用Service();
  3. 销毁阶段:destroy();只调用一次

ServletConfig接口

  1. 在servlet运行期间,需要一些辅助信息,例如文件编码,使用servlet程序共享,这些信息可以封装在web.xml中元素进行配置。
  2. 当Tomcat初始化servlet,会将配置信息封装到ServletConfig对象中,通过调用init()将ServletConfig对象传递给Servlet。
方法功能
getInitParameter(String)根据参数名返回初始化参数值
getInitParameterNames()返回包含所有初始化参数名
getServletContext()当前web的ServletContext对象
getServletName()返回servlet名字

ServletContext接口

  1. 当容器启动后,会为每个web应用创建唯一一个ServletContext对象代表当前web应用
  2. 封装当前web所有信息,实现多个servlet之间数据共享。

为了数据共享,该接口定义了增加、删除、设置、获取域属性的4个方法。

方法功能
getAttributeNames()返回所有域属性
getAttibute(String name)根据参数名返回域属性
removeAttribute(String)删除
setAttribute(String,Object)设置域属性

读取web下的文件方法

servletContext代表当前web应用:用于实现多个servlet共享数据;

  1. context.getAttribute(“”);
  2. context.setAttribute(“”);

respon响应

  1. 字节流getoutputStream()
  2. 字符流getWrite()
  3. 回应给浏览器的字符编码response.setContentType(“text/html;char set=utf-8”);
    4.重定向 response.sendRedirect(“/.html”)

request请求

  1. 防盗链Request.getHeader(“referer”);//获取头字段
  2. 请求转发(网址不变)Request.getRequestDispatcher(“/.html”).forward(request,response);

3.获取请求参数两种方法:

request.getParameter(“username”);
resquest.getParameterValues(“hobby”);
4. 提交的字符编码Resquest.setcharacterEncoding(“utf-8”);//post提交有效

Jsp

  1. 局部声明

  2. 全局声明

  3. 表达式输出字符串

  4. 注释

  5. page指令

  6. include指令

  7. 隐式对象
    out session request config
    pageContext response request

  8. 当前jsp页面对象pagecontext
    req=pagecontext.getRequest();
    req.setAttribute(name,object);
    pagecontext.setAttribute(name,object,scope);

  9. Jsp动作
    <jsp:include page=“.jsp” flush=“true”/> //最后调入jsp
    <jsp:forward page=“.jsp”/> //网址不变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值