ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java Server Pages

2021-12-20 21:04:59  阅读:184  来源: 互联网

标签:printWriter Java Server write html jsp Servlet Pages 页面


JSP

1、简介

1.1、简介

JSP 是 Java 的服务器页面, 主要作用是代替 Servlet 程序回传 html 页面的数据

因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情,开发成本和维护成本都极高

使用 Servlet 回传 html 页面数据
代码示例:

使用 HttpServletResponse 类往客户端回传数据
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //往客户端回传字符串数据
    resp.setContentType("text/html; charset=UTF-8");
    PrintWriter printWriter = response.getWriter();
    
    printWriter.write("<!DOCTYPE html>\r\n");
    printWriter.write(" <html lang=\"en\">\r\n"); 
    printWriter.write(" <head>\r\n"); 
    printWriter.write(" <meta charset=\"UTF-8\">\r\n"); 
    printWriter.write(" <title>Title</title>\r\n"); 
    printWriter.write(" </head>\r\n"); 
    printWriter.write(" <body>\r\n"); 
    printWriter.write(" 这是 html 页面数据 \r\n"); 
    printWriter.write(" </body>\r\n"); 
    printWriter.write("</html>\r\n"); 
    printWriter.write("\r\n");
}

使用 JSP 回传 html 页面数据
代码示例:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html> 
	 <head> 
	 	<title>Title</title>
	</head>
	<body> 
		这是 html 页面数据 
	</body> 
</html>
  1. 如何创建 jsp 的页面?
    在这里插入图片描述
  2. jsp 如何访问:
    jsp 页面和 html 页面一样,都是存放在 web 目录下,访问也跟访问 html 页面一样
    1. 在 web 目录下有如下的文件:
      a.html 页面,访问地址是http://ip:port/工程路径/a.html
      b.jsp 页面,访问地址是http://ip:port/工程路径/b.jsp

1.2、jsp 的本质

jsp 页面本质上是一个 Servlet 程序, 当我们第一次访问 jsp 页面的时候,Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件,并且对它进行编译成 为.class 字节码程序

我们打开 java 源文件不难发现其里面的内容是:

在这里插入图片描述
我们跟踪原代码发现,HttpJspBase 类直接地继承了 HttpServlet 类。

也就是说,jsp 翻译出来的 java 类,它间接了继承了 HttpServlet 类。

也就是说,翻译出来的是一个 Servlet 程序

在这里插入图片描述

总结:
通过翻译的 java 源代码我们就可以得到结果:jsp 就是 Servlet 程序。

大家也可以去观察翻译出来的 Servlet 程序的源代码,不难发现。其底层实现,也是通过输出流。把 html 页面数据回传给客户端。

2、jsp 的三种语法

2.1、jsp 头部的 page 指令

jsp 的 page 指令可以修改 jsp 页面中一些重要的属性,或者行为

2.2、jsp 中的常用脚本

2.2.1、声明脚本(极少使用)

2.2.2、表达式脚本(常用)

标签:printWriter,Java,Server,write,html,jsp,Servlet,Pages,页面
来源: https://blog.csdn.net/qq_48496502/article/details/122050000

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有