目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第5次课 再一次认识JSP

一、Web应用程序的工作原理

1、理解Web应用

Web应用程序是一种可以通过Web访问的应用程序;Web程序的用户只需要通过浏览器就可以使用Web应用程序。

Web应用中的浏览器和服务器的是基于HTTP协议进行通信的。

 2、理解HTTP 工作原理

HTTP 协议工作于客户端-服务端架构。

浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。

Web 服务器有:Apache 服务器,IIS 服务器(Internet Information Services)等。

Web 服务器根据接收到的请求后,向客户端发送响应信息。

二、JSP原理

JSP页面是如何向客户端提供Web信息服务的呢?

JSP页面都必须在一个容器里进行执行,这个容器被称为JSP容器(JSP Container),它和下一章将提到的Web容器实际上是一个东西。JAVA EE服务器通过JSP容器将每个JSP页面进行处理执行得到最终的内容,提供给最后用户。JSP容器对JSP页面进行两个阶段的操作,它们分别是解译阶段(Translation Phase)和执行阶段(Execution Phase)。

1.解译阶段

JSP容器验证JSP页面的语法是否合法,并且将页面里的动态元素(Element,即动态的页面指令、标签行为和JAVA代码段)进行分析,改写为执行相应指令或者调用某种行为的代码,同时把静态内容模板(template,即静态的文本内容)转化为相应的输出文本代码,最终生成一个对应的JSP页面实现类。

一般的,这个类实际上是一个Servlet(在第四章将会详细说明Servlet)。

解译阶段有可能在Web用户访问之前进行,也有可能在用户首次访问JSP页面时进行,这与具体的JAVA EE服务器实现有关。如 Tomcat是访问之前进行。

2.执行阶段

当用户发出对JSP页面的请求时,JSP容器将会检查请求网址,并创建对应的JSP页面实现类的实例(在创建该实例时,JSP容器还会实例化相应的Request对象和Response对象)。

当JSP页面实现类处理完毕后,JSP容器将结果通过Response对象发送给用户,发送的结果是已经生成好的文本或二进制内容。一般是HTML页面。

JSP页面执行的原理图:




案例:JSP文件生成生成一个对应的JSP页面实现类

新建一个jsp文件,具体内容如下:

<body>

I'm so good!

</body>

可以看到该jsp文件对应生成的java和class文件,也即是类文件存储在:工作空间所在的目录中。

“工作空间所在的路径\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\“项目名”\org\apache\jsp

工作空间文件夹径:通过Eclipse菜单栏中File->Switch Workspace可查看。

视频:再JSP文件生成生成一个对应的JSP页面实现类

JSP容器还会实例化相应的Request对象和Response对象

视频:再次认识JSP-实例化相应的Request对象和Response对象

视频中的案例代码节选:

<h1>中奖了!</h1>

中了${param.score}人民币!

可以是:

<h1>中奖了!</h1>

中了<%=request.getParameter("num")%>元!

本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。