javaweb基础知识点记录

1、在service方法中,首先获得请求的方法名,然后根据方法名调用对应的doXXXX方法,比如说请求参数为GET,那么就会去调用doGet方法,请求参数为POST,那么就会去调用doPost方法。

2、在HttpServlet类中所提供的doGet,doPost等方法都是直接返回错误信息,所以我们需要在自己定义的Servlet类中来overvide这些方法。

3、对于Tomact来说,它会将客户端传送过来的参数放在一个Hashtable里面,该Hashtable的定义是:

 private Hashtable <String,String[]> paramHashStringArray = new Hashtable <String,String[]>();private boolean didQueryParameters = false;private boolean didMerge = false;

这是一个从String到String[]的映射。

4、某些Servlet在web.xml文件之中只有元素而没有元素,这样我们就无法通过URL地址的方式来访问这个servlet了,这种Servlet通常会在元素中配置一个子元素,让容器可以在启动的时候自动加载该Servlet,并且调用init方法来完成一些全局的初始化工作。

5、ServletContext与web应用之间的关系
当Servlet容器启动应用的时候,并且为每一个web应用创建一个唯一的ServletContext对象,你可以把ServletContext看作是一个web应用服务器组件的共享内存。在ServletContext中可以存放共享数据。

6、Servlet的多线程同步问题,Servlet本身是单实例的,这样当有多个用户访问某一个Servlet时候,会访问该唯一的Servlet实例中的成员变量,如果对成员变量进行写入操作,那就导致Servlet产生多线程的同步问题,即数据不一致的问题。

7、解决Servlet多线程同步问题的最好方案就是,去掉实例变量,使用局部变量。

8、比较Servlet与JSP
a、有许多的相似之处,都可以生成动态的网页。
b、JSP的优点是擅长网页的制作,生成动态的页面,比较直观。JSP的缺点是不擅长追踪和排错。
c、Servlet是纯的java代码,擅长处理流程和业务逻辑。Servlet的缺点是生成动态页面不直观。

9、request.getAttribute()和request.getParameter()方法有什么异同?
a、前者返回Object类型的对象,后者返回String类型的对象。
b、request.getAttribute()和request.setAttribute()相对应。
c、当两个web组件之间为链接关系时,被链接的组件通过getParameter()方法来获取请求参数。
d、当两个web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。
e、request.getParameter()方法传递的数据,会从web客户端传到web服务器端,代表着HTTP请求。
f、requset.setAttribute(0和request.getAttribute()方法之间传递的数据只会存在于web容器的内部,在具有转发关系的web组件之间共享。

10、web服务器跟踪客户状态通常有4种方法。
a、建立含有跟踪数据的隐藏字段。
b、重写包含有额外参数的URL。
c、使用持续的cookie。
d、使用Servlet API中的session机制。

11、session的基本概念,session用于跟踪客户的状态,session指的是在一段时间之内,单个客户与web服务器的一连串的交互过程。在一个session中,客户可能会多次其请求访问同一个网页,也有可能访问不同的服务器资源。

12、session的运行机制
a、当一个session开始时,servlet容器会创建一个HttpSession对象,在HTTPSession对象中可以存放客户状态的信息。
b、Servlet容器会为HTTPSession分配一个唯一的标志符,称为Session ID,Servlet容器会把session ID作为cookie保存在客户的浏览器之中,
c、每次客户发出HTTP请求之时,Servlet容器可以从HttpServletRequest对象之中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

13、过滤器

a、Servlet过滤器本身并不请求和响应对象,它只提供过滤作用。
b、Servlet过滤器能够在Servlet被调用之前检查Request对象,修改Request Header和Request内容。
c、在Servlet被调用之后检查Response对象,修改Response Header和Response内容,Servlet过滤器负责过滤的web组件可以是Servlet、jsp和HTML。

14、JSP里面的java程序片段可以操作数据库,重新定向网页,实现建立动态网页需要的功能。所以程序操作都在服务器端执行,网络上传输给客户端的仅仅是得到的结果,这样大大降低了对客户端浏览器的要求,即使客户浏览器不支持java,也可以访问JSP页面。

15、下面的包在JSP页面中是不需要导入的,服务器会帮助我们自动导入

java,lang.*
java.servlet.*
java.servlet.jsp.*
java.servlet.http.*

16、使用request来完成向导式页面开发和使用session来完成向导式的页面开发。

说明:使用request和session都可以来完成向导式的页面开发,但是过多的session会占用服务器端的内存,session会一直存在于服务器之中。在实际的开发中,应该使用request和hidden来完成这种向导式的页面开发。

17、javaBean在page范围内

用户每次请求访问jsp页面的时候,都会创建一个JavaBean对象。JavaBean对象的有效范围是用户请求访问的当前jsp页面。JavaBean对象在以下的两种情况下都会结束生命周期。

用户请求访问的当前jsp页面通过标记将请求转发到另外一个页面。

用户请求访问的当前jsp页面执行完毕并向客户端返回响应。

18、Javabean在request范围内

用户每次请求访问jsp页面的时候,都会创建新的Javabean对象。Javabean的有效范围为:
客户请求访问的当前jsp页面
和当前的jsp网页共享同一个用户请求的页面
有<% include>指令以及标记包含的其他jsp页面
当所有共享同一个用户请求的jsp页面执行完毕并向客户端发回响应时,Javabean对象会结束生命周期

19、javabean在session范围内

javabean对象作为属性保存在httpSession对象中,属性名为javabean的id,属性值为Javabean对象。除了可以通过Javabean的id直接引用Javabean对象以外,也可以通过HttpSession.getAttribute()方法来获取javabean对象。

20、javabean在application范围内

javabean对象被创建之后,它存在于整个web应用的生命周期内,web应用中的所有jsp文件都能共享一个javabean对象。

javaweb基础知识点记录2相关推荐

  1. javaweb基础知识点记录1

    javaweb基础知识点记录 1.当我们通过在浏览器的输入栏中直接输入网址的方式访问网页的时候,浏览器采用的就是GET方法向服务器获取资源. 2.我们可以将Servlet看做是嵌套了HTML代码的ja ...

  2. Javaweb基础知识点,邮储银行Java笔试

    前言 今年互联网形式依旧严峻,再次爆发几次大规模裁员潮.我决定把这篇文章分享出来帮助那些对前途感到迷茫的朋友.根据粉丝投稿的真实经历改编 在现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱, ...

  3. java基础案例教程前4章知识点_java学习记录4 Java基础知识点

    java学习记录4 Java基础知识点 1. 注释 单行注释 使用"//"开头,后面是注释的内容 一般在要注释的语句的上面加注释 多行注释 以"/*"开头,以& ...

  4. 黑马程序员最新版JavaWeb基础教程最后的案例学习记录

    黑马程序员最新版JavaWeb基础教程最后的案例学习记录这里写自定义目录标题 调试中我遇到的问题 调试中我遇到的问题 若db1报错: 则 改成自己的数据库名称 web.xml报错:则用这一段代码 &l ...

  5. JavaScript基础实战知识点记录及个人理解2

    JavaScript基础&实战知识点记录(26-45集) 第二十六集-运算符的优先级 第二十七集-代码块 第二十八.二十九.三十.三十一.三十二集-if语句 练习1 练习2 练习3 第三十三. ...

  6. JavaWeb基础5——HTTP,TomcatServlet

     导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 一 ...

  7. 超详细的Java面试题总结(四 )之JavaWeb基础知识总结

    系列文章请查看: 超详细的Java面试题总结(一)之Java基础知识篇 超详细的Java面试题总结(二)之Java基础知识篇 超详细的Java面试题总结(三)之Java集合篇常见问题 超详细的Java ...

  8. 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验

    2019年秋招已过,零星的招聘任然在继续.本资源适用于NLP算法工程师面试,也适用于算法相关的其他岗位.整理了算法面试需要数学基础知识.编程语言.深度学习.机器学习.计算机理论.统计学习.自然语言处理 ...

  9. mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎

    MySQL基础知识点整理 - 存储引擎 0. 查看 MySQL 支持的存储引擎 可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...

最新文章

  1. logback的使用和logback.xml详解
  2. RabbitMQ发布订阅实战-实现延时重试队列
  3. C++Primer笔记之复制控制
  4. k8s get命令:以yaml格式输出deployment对象
  5. 浅谈Nginx服务器的内部核心架构设计
  6. 速来领取!降本增效的车间管理大屏,车间主任看了都拍手称好
  7. 10道经典MySQL面试题
  8. matlab小游戏源代码下载,3个游戏代码和164个教学源码 - 源码下载|Windows编程|源代码 - 源码中国...
  9. 银行IT部门科技管理流程管控工作发展之路
  10. ES6、7学习笔记(尚硅谷)-3-变量的解构赋值
  11. IntelliJ IDEA 使用教程
  12. 2、接口测试-mitmproxy录制及回放使用
  13. ImageJ 叠加明场和荧光场图片
  14. mysql中图片的属性名是啥_数据库属性名
  15. pAdTy_3 构建地理位置和地图的应用程序
  16. 【最近抖音上元宇宙虚拟项目七国争霸,直播互动游戏源码解析】
  17. 牛逼,个人开发者可以申请微信支付了
  18. jmeter5.4.1 调整默认工具栏图片大小
  19. 在python语言中ipo模式不包括_下面不是IPO模式的一部分的是()_学小易找答案
  20. axure中交互样式设置鼠标悬停后其他的按下选中无效_Axure交互动作

热门文章

  1. ant+jenkins+testng+selenium集成环境搭建
  2. [Linux学习笔记] Linux历史发展与应用
  3. 【翻译】Sencha Cmd中脚本压缩方法之比较
  4. 关于原生AJAX和jQueryAJAX的编程
  5. Android应用程序组件Content Provider的共享数据更新通知机制分析
  6. CentOS+Nginx+Supervisor部署ASP.NET Core项目
  7. PyQt5 Pyinstaller时出现错误Cannot find PyQt5 plugin directories
  8. jquery工具方法parseJSON
  9. Jedis与Redisson对比有什么优缺点?
  10. PostgreSQL高可用集群在360的落地实战