fufu学JAVA之JSP详解
发布日期:2021-05-07 03:04:45 浏览次数:29 分类:精选文章

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

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("     ");        printWriter.write("     ");        printWriter.write("     ");        printWriter.write("    
"); printWriter.write(" Title"); printWriter.write(" "); printWriter.write(" "); printWriter.write("

这是一个html的页面

"); printWriter.write(""); printWriter.write("\n" + ""); }}

以上是一个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的元源文件,并对它进行编译
上一篇:第一天学习c语言,程序一闪而过等问题及基础知识记录
下一篇:fufu学软件之IEDA配置项目依赖

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月18日 14时42分06秒