抓取jsp网页源代码(Java开发中常见的JSP技术(一)(组图))

优采云 发布时间: 2021-11-12 18:21

  抓取jsp网页源代码(Java开发中常见的JSP技术(一)(组图))

  一、JSP 技术 1.jsp 脚本和注释

  jsp 脚本:

  1) ----- 内部java代码翻译成service方法。

  2) ----- 会在service方法里面翻译成out.print()

  3) ---- 将翻译成servlet成员的内容

  jsp 注释:不同注释的可见范围不同

  1)Html 注释:---可见范围jsp源代码,翻译后的servlet,页面显示html源代码

  2)java comment://single-line comment /*multi-line comment*/ --可见范围jsp源代码翻译servlet

  3)jsp 注释:----- 可见范围 jsp 源码可见

  2. jsp-----jsp的运行原理本质上是一个servlet(面试)

  jsp在第一次访问时会被web容器翻译成servlet,然后执行

  过程:

  第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行

  PS:翻译后的servlet可以在Tomcat的工作目录中找到

  3. jsp使用说明(三)

  JSP 的指令是指导 JSP 翻译和运行的命令。 JSP包括三大指令:

  1)页面指令---属性最多的指令(​​实际开发中页面指令默认)属性最多的指令,根据不同的属性,引导整个页面的特性

  格式:

  常用属性如下:

  language:可以嵌入jsp脚本的语言类型

  pageEncoding:当前jsp file-contentType 的编码可以收录在里面

  contentType: response.setContentType(text/html;charset=UTF-8)

  session:翻译时jsp是否自动创建session

  import:导入java包

  errorPage:当前页面有错误时跳转到哪个页面

  isErrorPage:当前页面为错误处理页面

  2)include 指令

  页面收录(静态收录)指令,可以将一个jsp页面收录到另一个jsp页面中

  格式:

  3)taglib 指令

  引入jsp页面中的标签库(jstl标签库、struts2标签库)

  格式:

  4. jsp内置/隐式对象(9)-----笔试

  jsp翻译成servlet后,service方法中定义并初始化了9个对象。我们可以在jsp脚本中直接使用这9个对象。

  姓名

  类型

  说明

  出

  javax.servlet.jsp.JspWriter

  用于页面输出

  请求

  javax.servlet.http.HttpServletRequest

  获取用户请求信息,

  回复

  javax.servlet.http.HttpServletResponse

  从服务器到客户端的响应信息

  配置

  javax.servlet.ServletConfig

  服务器配置,可以获取初始化参数

  会话

  javax.servlet.http.HttpSession

  用于保存用户信息

  申请

  javax.servlet.ServletContext

  所有用户的共享信息

  页面

  java.lang.Object

  指的是当前页面转换后的Servlet类的实例

  页面上下文

  javax.servlet.jsp.PageContext

  JSP 页面容器

  例外

  java.lang.Throwable

  表示异常发生在JSP页面,只在错误页面有效

  (1)输出对象

  输出类型:JspWriter

  out的作用是想让客户端输出内容----out.write()

  out buffer的默认8kb可以设置为0,表示out buffer的内容被关闭,直接写入响应buffer

  (2)pageContext 对象

  jsp页面的上下文对象有如下功能:

  page 对象和 pageContext 对象不是一回事

  1)pageContext 是一个域对象

  setAttribute(String name,Object obj)

  getAttribute(String name)

  removeAttrbute(字符串名称)

  pageContext 可以访问其他指定域的数据

  setAttribute(String name,Object obj,int scope)

  getAttribute(String name,int scope)

  removeAttrbute(String name,int scope)

  findAttribute(String name)

  ---依次从pageContext域、请求域、会话域、应用域获取属性。进入域后,就不会往后看。

  四个范围的总结:

  pageContext domain:当前jsp页面范围

  请求域:一个请求

  会话域:一个会话

  应用域:整个网络应用

  2)你可以得到另外8个隐式对象

  例如:pageContext.getRequest()

  pageContext.getSession()

  5. jsp标签(动作)

  1)页面收录(动态收录):

  2)请求转发:

  静态收录和动态收录的区别?

  二、EL 技术 1. EL 表达概述

  EL(Express Lanuage)表达式可以嵌入到jsp页面中,减少jsp脚本的编写。 EL的目的是替代jsp页面中脚本的编写。

  2. EL从域中取出数据(EL最重要的作用)

  jsp 脚本:

  EL 表达式替换上面的脚本:${requestScope.name}

  EL的主要功能是获取四个域的数据,格式为${EL表达式}

  EL 获取 pageContext 字段中的值:${pageScope.key};

  EL 获取请求字段中的值:${requestScope.key};

  EL 获取 session 字段中的值:${sessionScope.key};

  EL 获取应用字段中的值:${applicationScope.key};

  EL 从四个字段中获取一个值 ${key};

  ---同样是从pageContext域、请求域、会话域、应用域依次获取属性。在某个域中获取后,就不会向后看。

  3. EL的11个内置对象

  pageScope、requestScope、sessionScope、applicationScope----在JSP中获取域中的数据

  param,paramValues-接收参数相当于request.getParameter() rquest.getParameterValues()

  header,headerValues-获取相当于request.getHeader(name)的请求头信息

  initParam-获取等效于this.getServletContext().getInitParameter(name)的全局初始化参数

  WEB开发中的cookie-cookie相当于request.getCookies()---cookie.getName()---cookie.getValue()

  WEB开发中的pageContext-pageContext。

  pageContext 获取其他八个对象

  ${pageContext.request.contextPath} 相当于这段代码不能实现WEB应用的名字

  4. EL 执行表达式

  例如:

  ${1+1}

  ${空用户}

  ${user==null?true:false}

  一、JSTL 技术 1. JSTL 概述

  JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入到JSP页面中,以标签的形式完成业务逻辑等功能。 jstl的作用是替换jsp页面中与el相同的脚本代码。 JSTL标准标准标签库有5个子库,但随着发展,目前经常使用核心库

  标签库

  标签库的URI

  前缀

  核心

  c

  I18N

  文件

  SQL

  sql

  XML

  x

  功能

  fn

  2. JSTL下载导入

  JSTL 下载:

  从Apache的网站下载JSTL的JAR包。到“”网站下载JSTL安装包。 jakarta-taglibs-standard-1.1.2.zip,然后解压下载的JSTL安装包。这时候可以在lib目录下看到两个JAR文件,分别是jstl.jar和standard.jar。其中,jstl.jar文件收录JSTL规范中定义的接口和相关类,standard.jar文件收录用于实现JSTL的.class文件和JSTL中的5个标签库描述符文件(TLD)

  

  将两个jar包导入到我们项目的lib中

  使用jsp的taglib指令导入核心标签库

  

  3. JSTL核心库常用标签

  1)标签

  其中 test 是返回布尔值的条件

  2)标签

  有两种用法组合:

  

  四、javaEE 开发模型 1. 什么是模式

  模式开发过程中总结的“套路”,总结出一套常规的设计模式

  2. javaEE体验模式

  model1 模式:

  技术构成:jsp+javaBean

  model1的缺点:业务复杂,jsp页面比较混乱。

  model2 模式

  技术构成:jsp+servlet+javaBean

  model2的优点:利用各个技术擅长的方面进行开发

  Servlet:擅长处理java业务代码

  jsp:擅长页面的真实性

  MVC:----Web开发的设计模式

  M:Model---model javaBean:封装的数据

  V: View-----view jsp: 只显示页面

  C:Controller----Controller Servelt:获取数据-封装数据-传递数据-分配jsp页面显示

  3. JavaEE的三层架构

  在服务器开发过程中,分为三层

  Web 层:与客户端交互

  服务层:复杂的业务处理

  dao层:与数据库交互

  在开发实践中,三层架构通过包结构体现

  MVC 和三层架构是什么关系?

  

  总结:

  EL 表达式

  从域中检索数据${域中存储的数据的名称}

  ${pageContext.request.contextPath}

  JSTL 标签(核心库)

  javaEE 三层架构+MVC

  Web层:采集页面数据、封装数据、传输数据、指定响应jsp页面

  服务层:编写逻辑业务代码

  dao层:数据库访问代码的编译

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线