【修真院java小课堂】jsp基础知识

大家好,我是IT修真院武汉分院第13期的学员,一枚正直纯洁善良的java程序员

今天给大家分享一下,修真院官网java(职业)任务2,深度思考中的知识点——JSP

JSP简单介绍

java分享会

分享人:石奥林

1.背景介绍

jsp是什么

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计

它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.知识剖析

为什么jsp可以在html中运行java代码?

           就像其他普通的网页一样,您的浏览器发送一个 HTTP 请求给服务器。

1.Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎。通过使用 URL或者 .jsp 文件来完成。
2.JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。这种转化只是简单地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码。
3.JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。

4.Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。
        5.Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到您的浏览器中。
         6.最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样。

面划分

静态数据,如HTML

JSP指令

JSP脚本元素和变量

JSP动作

用户自定义标签

3.常见问题

JSP中文乱码问题

5.编码实战

6.扩展思考

JSP和HTML的区别

HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性 语言呢?因为,只要你有一个浏览器那么它就可以正常显示出来,而不需要指定的编译工具,只需在TXT文档中写上HTML标记就OK。


JSP(Java Server Page)看这个意思就知道是Java服务端的页面,所以它是动态的,它是需要经过JDK编译后把内容发给客户端去显 示,我们都知道,Java文件编译后会产生一个class文件,最终执行的就是这个class文件,JSP也一样,它也要编译成class文件!JSP不 止要编译,它还得要转译,首先把JSP转译成一个Servlet文件,然后在编译成class文件。

1.最简单的区别就是,HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开 。

2.定义上HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转换成servlet。

3.他们的表头不同,这个是JSP的头“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在表头中有编码格式和倒入包等。

4.也是很好区分的在jsp中用<%%>就可以写Java代码了,而html没有<%%>


穿插一点别的知识

JSP有4个作用域,分别是

                  pageContext 当前页面

                  requestContext 一次请求

                  sessionContext 当前会话

                  applicationContext 全局,所有用户共享


7.参考文献

http://blog.csdn.net/lwj734114646/article/details/46898517

http://www.cnblogs.com/chengkai/articles/2171848.html

8.更多讨论

问题一:

什么是session?

用户在浏览网页时,由于Http 协议是一种无状态的协议,往往在不同的页面之间存在数据交换的问题,这就需要在这些不同的页面之间共享数据。常见的实现方法是把要共享的数据保存到Session 中。比如在用户登录的页面中把一些用户的信息保存到Session 之中,然后在其他的页面中读取用户的信息。这些共享的数据可以是字符串或者与Java 的原始数据类型相关的对象,也可以是一个Java 对象。


问题二:

我已经采用了servlets,为何还需要 JSP 技术呢?

既然 JSP 页面也要被编译成 servlets,那么理论上,您可以直接写 servlets 来支持您的基于 web 的应用程序。然而,JSP 技术通过将页面内容和显示逻辑分开,简化了创建网页的过程。在许多应用程序中,需将模板内容和动态生成的数据一块发送到客户端。基于此考虑,使用 JSP 页面技术将比全部用 servlets 来写要方便得多。

问题三:

JSP页面中程序对应servlet的什么?

程序片(<%    %>)翻译成servlet后,对应于service方法中代码片段,该片段将来以多线程独享方式运行;

PPT:PPT       视频:视频

鸣谢

感谢观看,如有出错,恳请指正



今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

  ------------------------------------------------------------------------------------------------------------------------           


   技能树.IT修真院  

  “我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

   这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值