java 发送带basic认证的http post请求实例代码_Java工程师关于JSP的必会面试题你知道吗?...

24157525245807e4946c12fd8b9ee114.png

什么是Java Server Pages?

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以结束。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

JSP的优势

与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。

JSP的处理过程

  1. 就像其他普通的网页一样,您的浏览器发送一个 HTTP 请求给服务器。
  2. Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎。通过使用 URL或者 .jsp 文件来完成。
  3. JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。这种转化只是简单地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码。
  4. JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。
  5. Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。
  6. Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到您的浏览器中。
  7. 最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样。

一般情况下,JSP 引擎会检查 JSP 文件对应的 Servlet 是否已经存在,并且检查 JSP 文件的修改日期是否早于 Servlet。如果 JSP 文件的修改日期早于对应的 Servlet,那么容器就可以确定 JSP 文件没有被修改过并且 Servlet 有效。这使得整个流程与其他脚本语言(比如 PHP)相比要高效快捷一些。

JSP 生命周期

  • 编译阶段

当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。

编译的过程包括三个步骤:

解析JSP文件。

将JSP文件转为servlet。

编译servlet。

  • 初始化阶段

容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了

  • JSP执行

这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法。_jspService()方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数 , _jspService()方法在每个request中被调用一次并且负责产生与之相对应的response,并且它还负责产生所有7个HTTP方法的回应,比如GET、POST、DELETE等等。

  • JSP销毁

SP生命周期的销毁阶段描述了当一个JSP网页从容器中被移除时所发生的一切。jspDestroy()方法在JSP中等价于servlet中的销毁方法。当您需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。

JSP语法

  • 脚本程序
  • JSP声明

一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。

  • JSP表达式

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。

今天的日期是:

  • JSP注释

JSP注释主要有两个作用:为代码作注释以及将某段代码注释掉。

JSP注释,注释内容不会被发送至浏览器甚至不会被编译

  • JSP指令

JSP指令用来设置与整个JSP页面相关的属性。

定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等

包含其他文件

引入标签库的定义,可以是自定义标签

JSP隐含对象

  1. request HttpServletRequest类的实例
  2. response HttpServletResponse类的实例
  3. out PrintWriter类的实例,用于把结果输出至网页上
  4. session HttpSession类的实例
  5. application ServletContext类的实例,与应用上下文有关
  6. config ServletConfig类的实例
  7. pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
  8. page 类似于Java类中的this关键字
  9. Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象

JSTL和EL表达式的关系

JSTL是一个JSP标签集合,它封装了JSP应用的通用核心功能。

EL主要用于查找作用域中的数据,然后对它们执行简单操作;它不是编程语言,甚至不是脚本编制语言。通常与 JSTL 标记一起作用,能用简单而又方便的符号来表示复杂的行为。示例 : ${expr}

EL表达式能从哪些域对象中取值

常用的域对象有下面这些

  1. pageScope page 作用域
  2. requestScope request 作用域
  3. sessionScope session 作用域
  4. applicationScope application 作用域

JSP异常怎么处理

  • 在JSP页面指定错误页面
  • 编写错误页面ShowError.jsp

什么是JSTL

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

1. 核心标签

2.格式化标签

3.SQL 标签

4.XML 标签

5.JSTL 函数

使用步骤

第一步 : 导入JSTLjar依赖

第二步 : 在jsp页面引入JSTL标签库 (对应上面5个功能,选择引入)


本章中的相关题已经在51面试官(http://www.51mianshiguan.com)生成对应的配套刷题题库,您可以百度搜索“51面试官”使用在线刷题系统进行模拟面试 。51面试官,更加关注IT行业求职面试 ! 提供千万网友在线学习热门编程语言,分享和收藏最新编程面试真题,在线刷题面试真题,是一站式服务面试复习准备和入门求职必备帮手。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值