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”/> //网址不变

全部评论

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
在努力的外卷侠很靠谱:怎么,大家都没保底吗?我这美团已经入职了,不说了,系统派单了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务