学习笔记(二)HttpServlet、ServletContext、ServletConfig
来源:互联网 发布:双十一淘宝退货率 编辑:程序博客网 时间:2024/05/16 10:06
学习笔记(二)HttpServlet、ServletContext、ServletConfig
概述
虽然可以通过手工方式书写socket通信,仿写HTTP请求、响应协议的格式,回传给客户端,但如果请求的业务比较复杂,多个请求同时到达,
会给服务端的解析造成重大的负担,特别是文件上传等耗时操作不利于系统的使用效率,也给开发人员造成很大的工作量,基于此,servlet
及相关的ServletContext组件封装了客户端的请求和响应的协议格式信息,使开发人员从繁重的协议格式“接头”及相关的请求、响应解析工作中解放出来,只需要关注与协议无关的业务的处理。
HttpServlet的父类的父类是Servlet,包含初始化init()、service()、destroy() 3个生命周期的方法,并且是单例模式运行,并且这些方法是基于回调的;
HttpServletRequest的作用:
request对象的的创建以及销毁都是由tomcat来完成的,它代表了请求对象的抽象,我们可以在这个对象中获得在请求协议中所
有的相关数据。
3.HttpServletResponse的作用:
response对象的的创建以及销毁都是由tomcat来完成的,它代表了响应对象的抽象,我们可以在这个对象中获得在响应协议中所
有的相关数据。
4.httpServlet由容器即应用服务器(TOMCAT\JBOSS等)创建,init()方法、destroy()只调用一次,多次调用请求时,实质是多次调用service()方法,至于doGet\doPost\doHead等方法 ,其实是可以通过service的request的方法名称分派出去,代码如下:
if(request.getMethod().equalsIgnoreCase("GET")){ doGet(request,response); }else if(request.getMethod().equalsIgnoreCase("POST")){ doPost(request,response);}
5.编写HttpServlet的步骤:
A.继承基类HttpServlet,根据需要覆盖(override) 这5个方法中的 init()、service()、destroy()、doGet()、doPost();
service等方法的request参数 getParameter(参数名)获取客户端提交的参数值,setAttribute(参数名,参数值)设置相关的参数值;
B.在web.xml 文件中配置该servlet的映射:
SendMsgServlet
package名.SendMsgServlet
keyword
fuck,shit,cao
0
<!-- 2.配置Servlet的映射 浏览器中访问某个资源的时候怎么知道这个资源是哪个java类,如果不需要浏览器请求,则不用配置 --> <servlet-mapping><!-- 指定位哪个servlet配置映射 --><servlet-name>SendMsgServlet</servlet-name><url-pattern>/chatroom/send</url-pattern> </servlet-mapping>
C.编写页面,JSP\HTML;
7.get请求与POST请求的区别
A.GET参数传输的数据长度有限制,请求后的页面可以存入收藏夹参数会附加在URL后面传输数据和安全相关的不会采用GET;
B.POST参数传输长度理论上无限制,请求后的页面无法存入收藏夹参数不会附加在URL后面传输数据和和安全相关的会采用POST;
8.ServletContext【Servlet之间数据共享】:
Servlet上下文对象,是所有servlet共享的一片内存空间,我们可以把数据存储在片内存空间中,实现在多个servlet当中共享数
据。通过当前子类httpServlet类的this.getServletContext()获取ServletContext的实例,然后该实例的getAttribute(参数名)
获取对应的参数值列表,.setAttribute(“msgs”, msgs)设置参数值列表;
9.servlet默认情况下是在服务器启动之后,第一次从WEB上访问后才会执行init方法初始化。在web.xml配置servlet的时候,我
们可以通过加0这样的标签,让TOMCAT启动就加载对应的servlet,并且执行init方法。
10.每一个Servlet都对应在web.xml中有一段配置,ServletConfig对象正是读取这段专属servlet的配置文件信息。可以通过配置一些外部参数更加灵活的让servlet工作。参照3中的开发步骤中的”init-param”节点配置;
- 学习笔记(二)HttpServlet、ServletContext、ServletConfig
- ---servlet(二)ServletConfig,ServletContext
- Servlet学习笔记(五):ServletConfig和ServletContext详解
- JavaWeb学习笔记:ServletConfig()和ServletContext()
- servletconfig,servletcontext 笔记
- Servlet的学习(二)-ServletConfig对象和ServletContext对象
- 【Servlet】(2)有关Servlet实现的几个类:GenericServlet、HttpServlet、ServletConfig、ServletContext
- Servlet知识详解(一)ServletContext对象 和 ServletConfig对象学习笔记
- JavaWeb学习笔记(7)——ServletConfig和ServletContext对象
- ServletContext与ServletConfig对比学习
- 六、ServletContext和ServletConfig学习
- (javaweb读书笔记系列之二)servletconfig和servletcontext
- servlet基础,如何实现一个servlet,servletConfig,HTTPServlet,ServletContext
- JavaWeb(四)ServletConfig/ServletContext
- ServletConfig ServletContext
- ServletConfig&ServletContext
- servletContext,servletConfig
- 笔记——ServletConfig与ServletContext
- early_irq_init
- 大数据学习之——kafka安装部署
- git
- do{...}while(0)的意义和用法
- c#事件总结
- 学习笔记(二)HttpServlet、ServletContext、ServletConfig
- JAVA多线程编程(一)------基础知识
- git的sourcetree使用详细参考
- 字母转换
- 深度学习作业1
- win10下Secure CRT安装及中文乱码问题解决
- Noip2017 滚粗记
- Android 开发之lombok--- 让java实体类更简洁
- vba变量命名惯例