博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP概述
阅读量:3965 次
发布时间:2019-05-24

本文共 2230 字,大约阅读时间需要 7 分钟。

1、什么是 jsp,为什么要学习jsp?

JSP(全称 Java Server Pages是由 Sun 公司专门为了解决动态生成 HTML 文档的技术。

jsp 的全换是 java server pages。Java 的服务器页面。
jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。
因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高

2、Servlet 程序输出 html 页面。

在学习 jsp 技术之前,如果我们要往客户端输出一个页面。我们可以使用 Servlet 程序来实现。具体的代码如下:

1)Servlet 输入 html 页面的程序代码

public class HtmlServlet extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 通过响应的回传流回传html页面数据 // 设置返回的数据内容的数据类型和编 resp.setContentType("text/html;charset=UTF-8"); // 获取字符输出流 PrintWriter writer = resp.getWriter(); //输出页面内容 writer.write(""); writer.write(""); writer.write("
"); writer.write(" Title"); writer.write(""); writer.write(""); writer.write(" 这是HTML页面"); writer.write(""); writer.write(""); }}

2)在浏览器中输入访问 Servlet 的程序地址得到以下结果

在这里插入图片描述

上面的代码我们不难发现。通过 Servlet 输出简单的 html 页面信息都非常不方便。 那我们要输出一个复杂页面的时候,就更加的困难,而且不利于页面的维护和调试。 所以 sun 公司推出一种叫做 jsp 的动态页面技术帮助我们实现对页面的输出繁锁工作。

jsp 页面的访问千万不能像 HTML 页面一样。托到浏览器中。只能通过浏览器访问 Tomcat 服务器再访问 jsp 页面

3、如何创建一个 jsp 动态页面程序

1、如何创建 jsp 的页面?

在这里插入图片描述

输入文件名敲回车即可!

在这里插入图片描述

2、jsp 如何访问:

jsp 页面和 html 页面一样,都是存放在 web 目录下。访问也跟访问 html 页面一样。
比如: 在 web 目录下有如下的文件:

web 目录 a.html 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/a.html

b.jsp 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/b.jsp

4、JSP的本质

jsp 的本质 ,其实是一个 Servlet 程序。

首先我们去找到我们 Tomcat 的目录下的C:\Users\It.me.IntelliJIdea2019.3\system\tomcat\Tomcat_8_0_50_JavaWeb_4\work\Catalina\localhost 目录。当我们发布09-JSP 工程。并启动 Tomcat 服务器后。我们发现 在 work\Catalina\localhost 目录下多出来一个 09-JSP 目录
在这里插入图片描述
一开始 09-JSP 目录还是空目录。
在这里插入图片描述
然后,我们在浏览器输入一个 jsp 文件的访问路径访问。 比如 http://localhost:8080/09_JSP/a.jsp 访问 a.jsp 文件
09-JSP 目录马上会生成 org\apache\jsp 目录。 并且在会中有两个文件。
在这里插入图片描述
a_jsp.class 文件很明显是 a_jsp.java 源文件编译后的字节码文件。 那么 a_jsp.java 是个什么内容呢?
生成的 java 文件名,是以原来的文件名加上_jsp 得到。 xxxx_jsp.java 文件的名字
我们打开 a_jsp.java 文件查看里面的内容: 发现生成的类继承于 HttpJspBase 类。这是一个 jsp 文件生成 Servlet 程序要继承的基类!!
在这里插入图片描述

我们跟踪原代码发现,HttpJspBase 类。它直接地继承了 HttpServlet 类。也就是说。jsp 翻译出来的 java 类,它间接了继 承了 HttpServlet 类。也就是说,翻译出来的是一个 Servlet 程序

在这里插入图片描述
总结:通过翻译的 java 源代码我们就可以得到结果:jsp 就是 Servlet 程序。
大家也可以去观察翻译出来的 Servlet 程序的源代码,不难发现。其底层实现,也是通过输出流。把 html 页面数据回传 给客户端。

转载地址:http://dluki.baihongyu.com/

你可能感兴趣的文章
破解版的PowerDesigner15没有OOM吗?
查看>>
Java解释Excel数据(jxl.jar包的使用)
查看>>
操作Excel的jxl包的使用
查看>>
异常:Error: java.lang.IncompatibleClassChangeError: Implementing class
查看>>
Flex Java Object对应关系
查看>>
常用的Flex代码总结
查看>>
div居中的设置该如何编写css?
查看>>
eclipse常用设置
查看>>
MySQL:日期函数、时间函数总结(MySQL 5.X)
查看>>
关于时间的模糊查询 mysql
查看>>
CONVERT函数全部用法 可以用于处理时间的查找
查看>>
SQL Server JDBC Connection Errors: Error establishing socket, connection refused...
查看>>
sqlserver2000 netstat、telnet连不到1433端口(远程登录失败)问题解决方法
查看>>
sqlserver 2000 远程连接 服务器的解决方案
查看>>
myeclipse 无GBK编码
查看>>
MyEclipse下开发邮件发送功能测试失败的原因及处理
查看>>
在access中表中数据导出为文本文件到MySQL的问题?
查看>>
java(Web)中相对路径,绝对路径问题总结
查看>>
GET POST 区别详解
查看>>
DateDiff 用法
查看>>