jsp简介

jsp作用

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

Servlet程序回传Html页面示例

package com.ftn.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;

public class PrintHtml extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //通过响应的回传流回传html页面数据
        response.setContentType( "text/html; charset=UTF-8" );
        PrintWriter writer = response.getWriter();
        writer.write("<!DOCTYPE htm1>\r\n");
        writer.write("<html lang=\"en\">\r\n");
        writer.write("<head>\r\n" );
        writer.write("      <meta charset=\"UTF-8\">\r\n");
        writer.write("      <title>Title</title>\r\n");
        writer.write("</head>\r\n");
        writer.write("<body>\r\n");
        writer.write("      这是html页面数据\r\n");
        writer.write("</body>\r\n");
        writer.write("</html>\r\n");
        writer.write("\r\n");

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

jsp创建方式

在这里插入图片描述

jsp如何访问

jsp页面和html页面一样,都是存放在web目录下。访问也跟访问html页面一样。

比如:
在web目录下有如下的文件:
web目录
a.html页面
访问地址是=======>>>>>>> http://ip:port/工程路径/a.html

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

jsp的本质

jsp页面本质上是一个 servlet程序。

当我们第一次访问jsp页面的时候。Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件。并且对它进行编译成为.class字节码程序。我们打开java源文件不难发现其里面的内容是:
在这里插入图片描述
我们跟踪源代码发现,HttpJspBase类直接地继承了HttpServlet类。也就是说。jsp翻译出来的java类,间接的线承了HttpServlet类。即翻译出来的是一个servlet程序。
在这里插入图片描述
总结:通过翻译的java源代码我们就可以得到结果:jsp就是servlet程序。

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值