jsp渲染
SP与Servlet什么关系?JSP和ASP什么关系?下面我们一一来探讨。
第一个.jsp文件:
<html>
<head>
<title>HelloWorldJSP~</title>
</head>
<body>
<%
out.println("HelloWorld");
%>
</body>
</html>
其实就是当你通过http请求一个JSP页面是,首先Tomcat会将JSP编译成为Servlet,然后执行Servlet.
详细说说这个运行过程:
1, 首先web客户端发送URL请求给Tomcat。服务器获得请求,对请求字符串分析,如果后缀名是.jsp文件的,则Tomcat把调用JspServlet处理。JspServlet是
2, 如果JSP文件第一次被调用,则会把jsp编译成servlet(编译后的servlet文件在tomcat下的work文件夹中,就是那个存放类似于缓存的文件夹),如果jsp不是第一次调用则不会被编译。Jsp文件在没有修改的情况下,只会编译一次。
3, Tomcat调用service()方法编译jsp文件,创建一个.Java和.class文件。该java文件继承自父类HttpJspBase类。
4, 创建HttpServletRequest类和HttpServletResponse类
5, 调用.java继承父类的HttpJspBase类方法service(request,response)
6, 在service方法里面调用jspService(request,reponse)方法,渲染html返回给客户端。
由此可见,什么是渲染?就是把tomcat把jsp编译成servlet,而servlet会将以HTML格式返回给浏览器,这就是渲染。可以简单理解为:浏览器可以直接运行html文件(双击打开一个html文件,就可以在浏览器中运行),而不能直接运行jsp文件(双击打开一个jsp文件,它是不可以再浏览器中运行的。而如果某个jsp如index.jsp在某个工程如test中的WebContent路径下(不能放在WEB-INF中,因为WEB-INF下的文件是不允许直接访问的),而把test工程在tomcat服务器中运行,那么输入http://127.0.0.1:8080/tes/index.jsp就可以运行,并显示jsp页面的内容了),所以需要通过tomcat服务器将jsp转换成HTML格式,然后再返回给浏览器进行显示。所以渲染工作时tomcat服务器做的。
jsp渲染的更多相关文章
- 对ajax和jsp渲染的一些感想
一个多月来,也算是做了两个javaweb的项目,但是对于用哪种方式渲染页面一直有些抉择不定,第一个项目用的ajax,发现各种对htmlDom节点的操作十分的繁琐,需要找到数据填充的节点并添加id值,引 ...
- SpringBoot使用JSP渲染页面
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 使用JSP渲染Web视图
Pom文件引入以下依赖 注意,创建SpringBoot整合JSP,一定要为war类型,否则会找不到页面 不要把jsp页面存放在Resources目录下,resources目录是给springboot打 ...
- jsp 增删改查
使用Idea创建项目 1.新建web application项目 Idea 选择 Java Enterprise -> web application 2.新版本没有web-inf文件夹 解决方 ...
- 深入分析Java Web技术内幕(修订版)
阿里巴巴集团技术丛书 深入分析Java Web技术内幕(修订版)(阿里巴巴集团技术丛书.技术大牛范禹.玉伯.毕玄联合力荐!大型互联网公司开发应用实践!) 许令波 著 ISBN 978-7-121- ...
- SpringMVC 初始化网站静态信息
在网站开发中,一些元素经常被访问,例如 网页头部URL导航 的信息,以及Boot版权的信息,在各个页面都是重复出现的 如果每次渲染View都要通过Service层访问数据库 比较麻烦 也没有必要,但是 ...
- Beetl2.2使用说明书20151201
李家智<xiandafu@126.com> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 ...
- 读阿里巴巴Java开发手册v1.2.0之工程结构有感【架构篇】
首先,把昨天那俩条sql语句的优化原因给大家补充一下,第一条效率极低,第二条优化后的,sql语句截图如下: 经过几个高手的评论和个人的分析: 第一条sql语句查询很慢是因为它首先使用了in关键字查询, ...
- 自己动手实现mvc框架
用过springmvc的可能都知道,要集成springmvc需要在web.xml中加入一个跟随web容器启动的DispatcherServlet,然后由该servlet初始化一些东西,然后所有的web ...
随机推荐
- MessageFormat格式化数字
使用MessageFormat格式化数字,有一个很隐蔽的技巧点: public static void main(String[] args) { MessageFormat mf = new Mes ...
- Laravel中不可逆的加密方法
1 //对 A 密码使用Bcrypt 加密 2 $password = Hash::make('secret'); 3 4 //你也可直接使用 bcrypt 的 function 5 $passwor ...
- Maven入门-3.pom文件和settings文件
1.pom.xml文件介绍2.settings.xml文件介绍 1.pom.xml文件介绍 Maven项目的核心是pom.xml,pom(Project Object Model项目对象模型) pom ...
- [翻译]HTTP--一个应用级的协议
原文地址:HTTP — an Application-Level Protocol 简介 在不丹,当人们见面时,他们通常用“你身体还好吗?”互相打招呼.在日本,根据当时的情形,人们可能会互相鞠躬.在阿 ...
- java.lang.IllegalStateException: Zip File is closed
最近在研究利用sax读取excel大文件时,出现了以下的错误: java.lang.IllegalStateException: Zip File is closed at org.apache.po ...
- Ubuntu下安装virtualbox失败解决方案
安装失败的截图: 因此使用常规方法:对依赖的两个包进行获取安装,依旧失败: 因此解决方法为在官网上下载相对应版本的virtualbox软件:下载地址为:https://www.virtualbox.o ...
- ue使用
快捷键CTRL+V:输入代码提示自动补全 编辑器Ultraedit快捷键 说到编辑器的快捷键,VIM是无与伦比的.要反对,也得是带脚踏板的EmaCS.UE还是有差距的,很大差距.注意:VIM是开 ...
- IntelliJ IDEA使用(二):tomcat和jetty配置(转自:http://www.cnblogs.com/jenkinschan/p/6052948.html)
上一讲用idea创建了maven web项目,接下来我们把项目发布到tomcat和jetty运行,以便进一步地开发和调试 配置tomcat 第一.打开菜单栏 第二.点击设置按钮,添加应用服务器,选择t ...
- HDU 3546
http://acm.hdu.edu.cn/showproblem.php?pid=3546 题意:10个寄存器初值为1,有加乘赋值运算,最多30w次运算,大数最多5000位,问最后10个寄存器的结果 ...
- Oracle text组件安装
1.目标:在数据库中,安装Oracle Text组件: 970473.1 MOS文档ID 2.组件相关视图:查询验证 #查询DB中的组件: #视图:USER_REGISTRY (注册) COM ...