动态网页开发技术之JSP(Java Server Pages)

)1代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊,欢迎互相交流、进步。
)2文笔有限,如若有对该博客不清楚的地方可以私信作者或者在底下评论,我一定会第一时间回复。
3)码字不易,干货连连,有兴趣的小伙伴点个赞呗,大家相互学习。

1 前序知识——在IDEA中创建一个Web应用

 

2 JSP的定义

JSP的全称是Java Server Pages,表示的是Java的服务器页面。它的主要作用是代替Servlet程序回传HTML页面的数据。这是因为Servlet程序回传HTML页面数据是一件非常繁锁的事情,开发成本和维护成本都极高。

接下来用一个实例来说明用Servlet程序回传HTML页面数据的繁琐性。实例要求:在网页上返回如下文字

1)使用Servlet程序

下面的代码就是我们利用Servlet程序返回要求文字的代码,可以看到,我们写了这么多行代码,仅仅只是为了在网页上显示这么简单的一行话,可想而知,当需要返回的内容较多时,该工作是如何的繁琐。所以,我们有了如下JSP的方式。

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

public class HelloJSP 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 html>\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(" helloJSP, Sharm!\r\n");
        writer.write(" </body>\r\n");
        writer.write("</html>\r\n");
        writer.write("\r\n");
    }
}

2)使用JSP技术

下面的代码就是我们利用JSP技术返回要求文字的代码,可以看到,JSP技术在该方面的优越性是远大于Servlet的。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    helloJSP, Sharm!
</body>
</html>

JSP存放的目录和HTML文件一样,也是放在web目录下的,访问也跟访问HTML页面一样。就如,若在web目录下有如下的文件,则对应的访问地址也如下所示:

文件 访问地址
helloJSP.html http://ip:port/工程路径/helloJSP.html
helloJSP.jsp http://ip:port/工程路径/helloJSP.jsp

 

3 JSP的本质

JSP页面本质上是一个Servlet 程序。

当我们第一次访问JSP页面的时候。Tomcat 服务器会帮我们把JSP页面翻译成为一个Java源文件,并且把它编译为.class字节码文件。该源文件的存放地址可以从下面的图中可知,也就是部署的文件的位置(红框+红字):
在这里插入图片描述
下面的代码为该目录下Java源文件的类名:
在这里插入图片描述
从上述文件夹中的Java源文件发现,其中的HttpJspBase类直接地继承了HttpServlet类,也就是说,JSP翻译出来的Java类间接了继承了HttpServlet类。也就是说,JSP翻译出来的是一个Servlet程序。
 

4 JSP的语法

4.1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值