fufu学JAVA之JSP详解

1.JSP是什么,其作用是什么?

jsp的全称是java server pages。java的服务器页面。
jsp的主要作用是代替Servlet程序回传html页面的数据

2.为什么要使用JSP代替Servlet程序回传html的数据

因为Servlet程序回传html数据非常的繁琐。开发成本和维护的成本的都极高。
下面我们来看一个例子:

package com.fufu.web;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class aaa extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        //获取响应的流回传html页面数据
        PrintWriter printWriter = resp.getWriter();

        printWriter.write("     <!DOCTYPE html>");
        printWriter.write("     <html lang=\"en\">");
        printWriter.write("     <head>");
        printWriter.write("    <meta charset=\"UTF-8\">");
        printWriter.write("    <title>Title</title>");
        printWriter.write("     </head>");
        printWriter.write(" <body>");
        printWriter.write("         <h1>这是一个html的页面<h1/>");
        printWriter.write("</body>");
        printWriter.write("\n" +
                "</html>");
    }
}

以上是一个Servlet类,通过响应流将数据回传到html页面,配置好xml文件,启动tomcat服务器,得到的页面如下:
在这里插入图片描述
到这,相信你应该知道为什么Servlet回传html网页非常繁琐了。

3.JSP的本质

3.1简介

当一道工序变得特别麻烦的时候,我们万能的程序员总会想出其他的解决方法,JSP为了代替Servlet回传html而诞生。

3.2在IDEA中如何创建一个JSP文件

【这里主要针对第一次用IDEA的码友,觉得啰嗦可以直接看后面】
在你工程的web项目下右键,新建一个JSP
在这里插入图片描述

3.3在项目部署中JSP页面如何访问

JSP和HTML一样,都是通过【ip+prot+工程名+你的.JSP/HTML】来进行访问的,比如,在我的web项目下有一个aa.jsp和一个bb.html,他们的访问方式分别是
********************localhost:8080/工程名/aa.jps
*******************localhost:8080/工程名/bb.html

JSP的本质

jsp的本质是一个Servlet的程序,为什么这么说呢?我们来进行分析
我们创建一个web工程,新建一个jsp页面,(记得删掉index.jsp默认页面)
在这里插入图片描述
在启动tomcat的时候,会显示一些配置的资源路径,如下
在这里插入图片描述
还记得【卡特琳娜】吧,不知道的码友可以先去看看我之前的一篇介绍tomcat的帖子,里面有有介绍catelina目录的作用,我们直接复制这个路径打开,显示如下页面
在这里插入图片描述
这里的conf是配置文件,他里面有一个catelina文件夹,里面有一个你的工程的xml配置文件,主要是一个映射对应工程的作用,简单的带大家看一下吧,
点击conf进入,可以看到一个katelina的文件夹,
在这里插入图片描述
然后一直点,最后你会看到一个xml的配置文件,我们打开配置文件进行查看

在这里插入图片描述
可以看到,它这里是用一个path虚拟路径去映射了你的工程路径,也就是当我们启动tomcat服务器后可以通过path里的虚拟路径直接访问工程项目。

好,简单的介绍了之后,我们重新回到前面,【怕大家忘记,翻到前面有麻烦,这里我再把图放上来】
在这里插入图片描述
在这里插入图片描述
当我们启动tomcat服务器,因为index.jsp被删除了,我们知道,index.sp是tomcat默认访问的程序,所以先显示找不到页面,如下
在这里插入图片描述
tomcat启动之后,我们再来看上面的文件夹,你会发现它多了一个work文件夹在这里插入图片描述

点进去,它同样是一个卡特琳娜文件夹,然后是你的本地文件,一直点到最后,你会看的你的工程目录,因为我们这时候还没有访问一个页面,所以里面是空的,
在这里插入图片描述
现在我们来访问aa.jsp页面
在这里插入图片描述
然后我们再来看你的工程目录,你会发现你的工程目录下有其他的东西,一直点到最里面,我们看到了我们想要的东西
在这里插入图片描述
我们打开java的源文件进行查看
在这里插入图片描述
可以看到,这个类继承了HttpJspBase,我们知道,要想实现一个Servlet程序我们有两种方法(我这里只说两种常用的),要么继承HttpServlet类,要么实现Servlet接口,那么,我这里的aa_jsp类以上两种都没没有实现,它为什么是一个Servlet类呢,其实,HttpJspBase类实际上是间接的继承了HttpServlet类,具体的继承关系就不带大家一一看了。
除了该方法的继承,我们最关心的应该是它是怎么回传html数据的,我们继续看该类的方法体在这里插入图片描述
到了这里,相信你对jsp应该有了一个大致的了解了,接下来我们就进行总结吧!

总结


  1. JSP是java的服务器页面
  2. 它是为了提高Servlet回传html网页数据的效率被创造的
  3. JSP实质上就是一个Servlet程序
  4. 当我们启动tomcat程序时,tomcat服务器会自动帮我们把JSP页面翻译成一个Java的元源文件,并对它进行编译
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值