话说这J2EE视频看的本身每天活蹦乱跳的我是天天都像得了重病似的,怎么也犯不过劲儿来。里面接触了大量关于Java的专业词汇,如JNDI,ANT,servlet,Java Bean等等。让人一时难以消化。

但在这里,还是强烈建议大家,无论如何要本着不抛弃,不放弃的精神坚持下去。看到后面也许因为你的不甘心,或者老天同情你的遭遇,忽然你就开窍儿了呢。其实慢慢的听的多了,也就跟原来的知识逐渐的联系上了,这样也就没有原来那样费劲儿了。

一、与servlet相识

1、一个类

首先不能被它陌生的名字吓到,它其实就是一个Java类。如果只说它是一个Java类,那么跟平时学到的如C#中的类就一样了,没什么区别,所以它就不陌生了。

2、功能

接收客户的请求

响应客户端

3、联想

根据servlet的功能,我们能联想到些什么呢?

其实我们很早就开始接触servlet了,之前我们学习牛腩的时候,用到过handler,一般处理程序,它的功能和它类似,当时是为了解决ajax异步操作。

其次,在学习ajax时,利用Java语言编写服务端时,就已经用到了servlet这个类,在这个类里,我们对从客户端发来的请求进行处理或者说将请求传递给服务器,同时,将服务器给出的处理回应给客户端。

这样想来,其实它并不陌生啊。

二、与servlet相知

认识了servlet后,我们需要再了解在servlet类中是通过哪些方法来处理客户端请求并进行回应的。

1、类

继承自HttpServlet,存在于服务端

2、生命周期

在了解servlet生命周期前,我们必须清楚的知道,servlet类存在于服务器端。而一切关于servlet的创建,使用和销毁其实幕后操作的黑手都是server。

server创建一个servlet对象——利用init方法进行初始化——客户端发出请求——server创建一个请求(request)和响应(response)对象——激活servlet中的service方法——service方法进行处理获取资源后回应客户端

以上是关于servlet在执行时一个大致流程。

3、方法

1、service()在客户请求时,server会通过service方法来进行处理和响应,在调用service方法时,会传入两个参数,一个是HttpServletRequest来接收客户的请求,另一个是HttpServletResponse来将服务器对客户的响应信息传递给客户端。

2、在客户端请求时,有两种方式get和post请求,为了区分这两种请求,把service方法分为处理两种不同请求的doGet()和doPost(),同时两个参数都不可少!

service方法示例:

Import javax.servlet.*;
Import javax.servlet.http.*;
Import java.io.*;Public class MyServlet extends HttpServlet{Public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{//process request,generate response}
}

4、servletContext

对此,与servletConfig相结合理解的并不是特别清楚,只是了解到servletContext用来在servlet之间进行通信,它存储着公共变量和静态变量。任何servlet和JSP都可以访问到它。

通过getServletContext来获取,同时可以通过setAttribute()来设置公共变量,同时还可以通过removeAttribute来移除变量。

ServletContext,是一个全局的储存信息的空间,所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。

5/servlet是线程不安全的

多个线程会同时执行servlet的service方法,如果servlet中声明了实例变量或者静态变量,则会造成线程不安全问题

三、小结

本文主要从servlet的功能和其中的方法来进行介绍,但是servlet中包含的知识远不止于此,如:servlet过滤器,之前总结过在MVC中的过滤器,servlet中的过滤器与其原理也应该万变不离其宗。剩下的就靠我们自己在实践中去慢慢探索了!

J2EE总结(二)——与servlet从相识到相知相关推荐

  1. Java开源 J2EE框架(二)

    Java开源 J2EE框架(二) 2007-01-06 12:34 Jofti [Java开源 其它开源项目] Jofti可对在缓存层中(支持EHCache,JBossCache和OSCache)的对 ...

  2. J2EE进阶(二十四)JBoss Web和 Tomcat的区别

    J2EE进阶(二十四)JBoss Web和 Tomcat的区别 在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求.近年来,作为开源中间件的全球 ...

  3. Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

    在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEc ...

  4. 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/

    javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...

  5. 我与电脑的相识,相知,相爱

    从旧书中翻出一个张3.5寸老磁盘,感概万千.从第一眼看到这个东西到现在数数有16年了.如今做为一位程序员,吃这 碗饭,电脑就是工作的全部.离不开电脑,离开了电脑,还真不知道干什么.经学会想,假如没有电 ...

  6. 045.(2.14)相识,相知,相守

    在西方情人节的日子,突然想聊一下这个话题. 虽然没怎么写过这类文章,但按自己所想到的而分享,也是一种方式. 其实,在我心目中,元宵节才是情人节,我们国家的情人节,我还是喜欢祖国的传统节日. 写这个话题 ...

  7. javaweb学习总结二十三(servlet开发之线程安全问题)

    一:servlet线程安全问题发生的条件 如果多个客户端访问同一个servlet时,发生线程安全问题,那么它们访问的是相同的资源.如果访问 的不是相同资源,则不存在线程安全问题. 实例1:不会产生线程 ...

  8. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. J2EE第五课Servlet随课笔记

    把上课笔记全上传到博客中,二原因: 1  方便自己以后查阅,看得多,记得多 2  提供一些笔记给刚学JAVA的朋友, 笔记: 1 1.什么是Servlet? 2 是运行于服务端(java服务器)的一个 ...

最新文章

  1. RocketMQ源码分析之RocketMQ事务消息实现原下篇(事务提交或回滚)
  2. DL之DNN:利用DNN【784→50→100→10】算法对MNIST手写数字图片识别数据集进行预测、模型优化
  3. android 使用SharedPreferences保存对象
  4. java掩码校验_Java 检查Ip掩码
  5. bitmap的java原理_布隆算法的原理及JAVA实现
  6. Synchronized底层实现--概论
  7. oracle中的varchar2存储中文,varchar2存储汉字
  8. 无所不能,传感器黑科技层出不穷
  9. 心系冬奥 翰墨传情 |当代书画名家为奥运加油书画推介展【冉春艳篇】
  10. 解决 Ubuntu 安装显卡驱动后,屏幕变黄的原因
  11. 力扣(LeetCode)159. 至多包含两个不同字符的最长子串(2022.06.08)
  12. 摄像头对物体进行跟踪kcf算法
  13. oracle自己主动维护
  14. CAD版本转换,手机该如何转换操作呢?
  15. 通过调试 Nginx 源码来定位有趣 Nginx 转发合并斜杠和编码问题
  16. Qt QMAKE_MSC_VER
  17. 语音识别之HTK入门
  18. Cadence ic5 自定义快捷键及奇技淫巧
  19. 【3】python二级——操作题
  20. 利用shell脚本“综合、集中”查看linux server常用软硬件信息

热门文章

  1. C#窗体美化(CSKin组件)
  2. 华硕ASUS PRIME Z790-P D4主板单烤FPU蓝屏
  3. skewness and kurtosis
  4. 6.2.4 SparkSQL《Action》《Trans,类似RDD,存储,Slc,Whr,gBy,oBy,JOIN,集合,控制,窗口,内建》《语句,文件,UDF,HIVE》《原理》JOIN,解析过程
  5. 数据质量管理学习笔记
  6. 怎么去选择一个合适的钱包
  7. 昆山培训java_昆山学习java要来这里
  8. P2386 放苹果(排列组合问题)
  9. 01 leading
  10. PRX vs DRX