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

全部评论

相关推荐

Hakasee:我的简历和你的基本一样,上周去了上海,boss投了三百家, 三家线下面试 第一家没有做题,全是八股和项目,因为第一次面试不怎么熟练,挂了 第二家,给你几个题目(①css垂直居中文字,字体每两秒闪烁一下以及点击弹窗,②给你一个链接,实现可视化地图,③然后是八股,图片性能优化,以及对图片app有什么想法),45分钟内做完,然后老板面试) 第三家特别偏僻,有点阴森,到了之后让了一个工位给我,有四个题目,①格式化时间 年月日当前时间星期几② 正则表达式提取新闻文字,③在文本域输入文字生成选择题以及选项④生成商品排版还是什么来着 三家都是不超过50人的小公司 两家线上牛客笔试(卡伦特,七牛云,但是笔试不仅要考前端,还要考后端,算法,甚至数学题 我的建议是如果只做了这两个vue项目且不怎么熟练的情况下,先沉淀沉淀,把react学了,上海好的公司基本都是react查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务