news 2026/6/23 16:49:35

JSP原理详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JSP原理详解

什么是JSP?

Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术!

最大的特点:

  • 写JSP就像写HTML
  • 区别:
    • HTML只给用户提供静态的数据
    • JSP页面中可以嵌入Java代码,为用户提供动态数据

JSP原理

思路:JSP到底怎么执行的!

  • 代码层面没有任何问题
  • 服务器内部工作
    • tomcat中有一个work目录

work是tomcat服务器工作的目录

- IDEA中使用Tomcat会在IDEA的tomcat中生成一个work目录

在运行Tomcat项目的时候,会显示work目录在C盘中

实践步入类

浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!

JSP也会转换成java类

我们可以发现JSP的本质是HttpServlet

可以发现打开的index_jsp.java 其实是index.jsp 编写的内容,实际上都是由java类实现的,我们只需要编写简单的代码即可

// 初始化publicvoidjspInit(){}// 销毁publicvoidjspDestroy(){}JspServicepublicabstractvoid_jspService(HttpServletRequestvar1,HttpServletResponsevar2)throwsServletException,IOException;
  1. 判断请求方法
if(!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())){finaljava.lang.String_jspx_method=request.getMethod();if("OPTIONS".equals(_jspx_method)){response.setHeader("Allow","GET, HEAD, POST, OPTIONS");return;}if(!"GET".equals(_jspx_method)&&!"POST".equals(_jspx_method)&&!"HEAD".equals(_jspx_method)){response.setHeader("Allow","GET, HEAD, POST, OPTIONS");response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED,"JSP 只允许 GET、POST 或 HEAD。Jasper 还允许 OPTIONS");return;}}
  1. 内置一些对象
finaljavax.servlet.jsp.PageContextpageContext;// 页面上下文javax.servlet.http.HttpSessionsession=null;// sessionfinaljavax.servlet.ServletContextapplication;// applicationContextfinaljavax.servlet.ServletConfigconfig;// configjavax.servlet.jsp.JspWriterout=null;// outfinaljava.lang.Objectpage=this;//page:当前javax.servlet.jsp.JspWriter_jspx_out=null;//请求javax.servlet.jsp.PageContext_jspx_page_context=null;//响应
  1. 输出页面前增加的代码
response.setContentType("text/html;charset=UTF-8");pageContext=_jspxFactory.getPageContext(this,request,response,null,true,8192,true);_jspx_page_context=pageContext;application=pageContext.getServletContext();config=pageContext.getServletConfig();session=pageContext.getSession();out=pageContext.getOut();_jspx_out=out;
  1. 以上的这些个对象我们可以在JSP页面中直接使用!

<%–通过尖括号百分号引起的代码就能写java代码–%>

<% %>

访问hello.jsp的时候,work目录下才会生成对应的hello.java

可以发现除了这里不一样,其他都是一样的

在JSP页面中;

只要是JAVA代码就会原封不动的输出;

如果是HTML代码,就会被转换为

out.wreite("<html>\r\n")

这样的格式,输出到前端!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 18:05:48

Kotaemon框架的测试驱动开发实践

Kotaemon框架的测试驱动开发实践 在企业纷纷拥抱大语言模型&#xff08;LLM&#xff09;构建智能客服、知识助手等应用的今天&#xff0c;一个现实问题日益凸显&#xff1a;我们能相信AI给出的答案吗&#xff1f; 尽管GPT类模型在自然语言生成上表现出色&#xff0c;但其“幻…

作者头像 李华
网站建设 2026/6/23 11:04:56

7、VMware使用指南:功能特性与操作详解

VMware使用指南:功能特性与操作详解 1. 虚拟机操作基础 在使用虚拟机时,可能会遇到客操作系统屏幕无法完全显示在VMware窗口中的情况。若已勾选相关选项,可将鼠标向右下方移动查看剩余部分。 若“Scroll when mouse…”功能关闭,可通过以下操作临时开启:点击鼠标按钮并…

作者头像 李华
网站建设 2026/6/23 10:23:00

8、VMware虚拟机硬件配置与操作指南

VMware虚拟机硬件配置与操作指南 1. 时间同步与任务栏显示 时间同步 :虚拟机和主机操作系统之间的时间同步会使客户机系统的时钟与主机系统的时钟保持一致。在某些客户机系统(如Unix)中,只有以超级用户(root)身份运行工具包才能执行此同步。而且,只有当客户机系统的时…

作者头像 李华
网站建设 2026/6/23 0:29:26

13、VMware 中 Linux 客户操作系统的使用与配置

VMware 中 Linux 客户操作系统的使用与配置 1. Linux 概述 Linux 是 x86 架构上最受欢迎的类 Unix 操作系统。它最初由 Linus Torvalds 开发,起初只是一个供黑客使用的小内核。1991 年,Linus 在 Usenet 上发布了 Linux,并表示大家可以自由地对其进行修改和开发,随后许多人…

作者头像 李华
网站建设 2026/6/23 18:23:58

14、Linux 系统下 VMware 的使用指南

Linux 系统下 VMware 的使用指南 1. 开启 X 窗口系统 准备好使用 X 窗口系统后,有多种启动会话的方式:可以使用 startx 或 xinit 命令来启动,也可以激活显示管理器,如 gdm (用于 GNOME)、 kdm (用于 KDE)或 xdm 。 若在使用 XF86_VMware 服务器时遇到问题,…

作者头像 李华
网站建设 2026/6/23 19:33:49

Day 1:Git入门避坑:新手3步搞定首次提交

Day 1&#xff1a;Git入门避坑&#xff1a;新手3步搞定首次提交&#xff08;附《Pro Git》核心知识点&#xff09; “你有没有经历过这样的场景&#xff1a;你熬夜写了一个功能&#xff0c;第二天发现代码改崩了&#xff0c;想找回原来的版本&#xff0c;结果发现没有备份&…

作者头像 李华