前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP简明教程「建议收藏」

JSP简明教程「建议收藏」

作者头像
全栈程序员站长
发布2022-07-31 15:57:48
1.1K0
发布2022-07-31 15:57:48
举报

大家好,又见面了,我是你们的朋友全栈君。

1、jsp是什么?

1)jsp:java server pages

2)jsp运行在服务器

3)jsp的基础是servlet,相当于对servlet进行一个包装

4)jsp无需配置,直接使用,如果修改了jsp文件,不需要重新reload web应用

5)jsp访问方法:http://ip:8080/web应用名/jsp路径

6)jsp是一种动态网页技术

2、JSP=html+java片段+JSP标签(语法)+javascript(、css)

3、 web 服务器是如何调用并执行一个 jsp 页面?

如果是第一次访问 jsp 文件,web服务器会把 jsp 翻译成一个 servlet 文件(.java 文件),再将其编译成一个 .class 文件

然后再把 class 加载到内存。如果是第二次访问或之后,就直接访问内存中的实例,因此 jsp 也是单例,

第一次访问比较慢,之后较快

如果某个jsp 文件被修改了,就相当于重新访问该 jsp 文件(即相当于第一次访问)

eclipse 或 Myeclipse 中对应的 jsp 错误所在行实际上是在对应的 servlet 中的位置,可以到 tomcat 文件中查找

4、jsp 页面中的 html 排版标签是如何被发送到客户端的?

out.write(” “); …… out.write(” “);

5、jsp页面中的java 代码服务器是如何执行的?

1)如果有多个<% %> ,其实相当于是一个大的 <% %>

2)在 <% %> 中定义的变量,会成为servlet 函数的局部变量

6、jsp 语法

1)指令元素:用于从jsp发送一个信息到容器,比如设置全局变量,文件编码,引入包等

a、page指令<%@page contentType=”text/html; charset=gb2312 ” %>

b、include 指定 <%@include file=”文件路径” %>

该指令用于引入一个文件(通常是jsp文件),jsp引擎会把两个jsp文件翻译成一个servlet文件

因此也称为静态引入,被引入的jsp文件,只需要保留 page 指令即可,<html><body>等均可省略

c、taglib指令:这个指令允许在jsp页面使用自定义的标签<myTag:yourTag num1=”123″>

2)脚本元素:可以理解就是 java 的片段 scriptlet

a、scriptlet:<% java代码 %>

b、表达式:<% =java 表达式 %>

c、declaration 声明 <%! 变量/函数 声明 %>

3)动作元素(用的较少了)

动作元素是使用 xml 语法写的,是jsp规定的一系列标准动作,在容器处理jsp 时,

当容器遇到动作元素时,就执行相应的操作

常用的有 <jsp:forward> 转发和 <jsp:include>:引入另外一个文件,动态引入。

动态引用是把两个jsp 分别翻译,所以被引入的jsp也可以包含有 <html><body>等,要与静态引入区分

在开发过程中,我们通常把jsp 放入 WEB-INF 目录下,目的是为了防止用户直接访问这些jsp文件,在

WebRoot 下,我们只留一个入口页面,主要用于负责转发,在入口内写:

<jsp:forward page=”/WEB-INF/hello.jsp”></jsp:forward>

7、jsp 的注释

<!– –>:这个是 html 的注释方式,可以使用于 jsp 中

<%– –%>:这个为 jsp 专用注释。这种注释不会在编译对应的servlet 中有注释输出,推荐使用

8、jsp九大内置对象(括号里为相对于servlet中的对象)

1)out:向客户端输出数据,字节流,(JspWriter) 2)request:接受客户端的http请求(HttpServletRequest) 3)response:封装jsp的产生的回应( httpServletResponse) 4)session:用于保存用户的信息,跟踪用户的行为(HttpSession) 5)application:多个用户共享对象,可以做计数器(ServletContext) 6)pageContext:代表jsp页面的上下文,也是一个域对象,作用范围只是本页面(Context) 7)exception:代表运行时的一个异常(Exception) 8)page:代表jsp这个实例本身 (this) 9)config:代表jsp对应的servlet的配置可以得到 web.xml中的参数(ServletConfig)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127871.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档