本文共 2230 字,大约阅读时间需要 7 分钟。
JSP(全称 Java Server Pages是由 Sun 公司专门为了解决动态生成 HTML 文档的技术。
jsp 的全换是 java server pages。Java 的服务器页面。 jsp 的主要作用是代替 Servlet 程序回传 html 页面的数据。 因为 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 页面
1、如何创建 jsp 的页面?
输入文件名敲回车即可!
2、jsp 如何访问:
jsp 页面和 html 页面一样,都是存放在 web 目录下。访问也跟访问 html 页面一样。 比如: 在 web 目录下有如下的文件:web 目录 a.html 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/a.html
b.jsp 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/b.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/