当前位置:首页 > 话题广场 > 攻略专题 > 单机攻略

【jsp入门教程】JSP的基本使用总结

一、JSP的介绍和生成

JSP的全名是Java Server Pages。换句话说,Java的服务器页面JSP的主要作用是代表servlet程序右键单击返回HTML页面的数据web目录(或其他)。- new - JSP/JSPX -输入文件名-选择jj

默认情况下,第一次访问JSP页面时(运行Tomcat服务器后,在浏览器地址栏中输入路径),Tomcat服务器会将JSP页面转换为Java源文件。class字节代码文件(.Java

另一方面,HttpJspBase类直接从http servlet类继承。换句话说,JSP翻译的Java类间接继承自http servlet类,证明JSP页是servlet程序

三、JSP语法

JSP头的page命令:

JSP标头中的page指令可以修改JSP页上的一些重要属性或行为

以下所有属性都记录在page指令中,未出现在默认page指令中的所有属性都使用默认值。

(1) contentType属性:表示JSP返回的数据类型,即re()的参数值

(2) language属性:表示JSP翻译后的哪些语言文件(当前仅支持Java)

(3) pageEncoding属性:表示当前JSP文件本身的字符集(显示在IDEA右下角)

(4) import属性:表示与Java匹配的指南包(指南类)

(5) autoFlush属性:设置out输出流缓冲区满后是否自动刷新缓冲区。默认值为true

(6) buffer属性:设置out缓冲区的大小。默认值为8kb

注意:如果out缓冲区已满,无法自动刷新,则会报告错误

(7) errorPage属性:设置在JSP页执行错误时自动转到的页(错误消息页)的路径。此路径通常以斜线开头,表示请求地址为http://IP 3360 port/engineering path/相应的代码web目录

(8) isErrorPage属性:设置当前JSP页是否为错误信息页。默认值为false,如果为true,则可以获取错误信息

(9)会话属性:设置在访问当前JSP页时是否创建HttpSession对象。默认值为true

(10) extends属性:设置默认情况下由JSP页翻译的Java类继承的人员

注意:除非有特殊要求,否则建议不要修改上面的默认值

四、JSP中常用的脚本

1.脚本声明

格式:%!声明Java代码%

功能:您可以为JSP可以翻译的Java类定义属性、方法、静态代码块、内部类等。

功能:不出现在浏览器页面上,仅存在于翻译的Java类中

代码演示:声明使用脚本(此JSP文件在web目录中称为Fir)

% @ page content type=' text/HTML;Charset=UTF-8' language='java'%

% @ page import=' java.u%

% @ page import=' java.u%

Html

头(电影)

标题标题/标题

/head

菩提

%-1。声明类属性- %

%!

私有字符串name

Private static mapstring、object map

%

%-2。类方法声明- %

%!

公共intsum () {

Return 12

}

%

%-3。静态代码块声明- %

<%!

static {

Map = new HashMap<String, Object>();

map.put("key1", "value1");

}

%>

</body>

</html>

对应的翻译后的java源文件:

2. 表达式脚本

格式:<%=表达式 %>

作用:在浏览器的JSP页面上输出数据(只有此脚本可以在浏览器的页面上输出数据)

特点:

(1) 所有的表达式脚本都会被翻译到对应的Java类的_jspService()方法中,故表达式脚本可以 直接使用_jspService()方法参数中的对象

(2) 表达式脚本都会被编译后的Java类中的out.print()方法输出到浏览器页面上

(3) 表达式脚本中的表达式不能以分号结束

代码演示:表达式脚本的使用(此JSP文件在web目录下,名为Fir)

<%=22 %> <br/>

<%="可以输出字符串" %> <br/>

<%=map %> <br/>

<%--使用_jspService方法中的对象--%>

<%=reque("username") %>

启动Tomcat服务器后浏览器的运行结果:

对应的翻译后的Java源文件(在_jspService方法中):

注意:

1.write方法中的标签、转义字符自动识别为对应的

功能,不在页面输出,执行各自代表的功能

2.out的两个方法也在_jspService方法中,也都是java语言

3.只有print、write方法、表达式脚本中的内容才可在浏览器中显示,其余Java代码的sout在控制台输出

3. 代码脚本

格式:<% Java语句 %>

作用:在JSP页面中可以编写需要的Java代码

特点:

(1) 代码脚本翻译后都在_jspService方法中,故代码脚本可以直接使用此方法参数中的对象

(2) 可以由多个代码脚本块组合完成一个完整的Java语句

(3) 代码脚本还可以和表达式脚本一起组合使用,在JSP页面上输出数据

代码演示:代码脚本的使用(此JSP文件在web目录下,名为Fir)

<%--1.if语句--%>

<%

int i = 1;

if (i == 1) {

Sy("我爱祖国!");

} else {

Sy("我很爱祖国!");

}

%> <br/>

<%--2.for循环语句--%>

<%

for (int j = 0 ; j < 3; j++) {

Sy("第" + j + "次循环");

}

%> <br/>

<%--3.使用_jspService方法参数中的对象--%>

<%

String username = reque("username");

Sy("username对应的值为:" + username);

%>

运行结果:

启动Tomcat服务器后在地址栏输入:http://localhost:8080/MyTest/Fir?username=Jaychou

在控制台显示:

对应的翻译后的Java源文件(在_jspService方法中):

五、JSP三种注释

1.HTML注释:<!--HTML注释-->

HTML注释会被翻译到JSP文件对应的Java类的_jspService方法中,以out.write()输出到客户端,

write方法会自动识别标签,执行标签对应的功能,不会在浏览器的页面上输出注释

2.Java注释:(1) //单行注释 (2) /*多行注释*/

Java注释要写在声明脚本和代码脚本中才被认为是Java注释,会被翻译到JSP文件对应的Java类的_jspService方法中,在对应的Java类中也是注释

3.JSP注释:<%- -这是JSP注释- -%>

JSP注释中的内容不会在JSP文件翻译后的Java类中出现,即注释中的内容没有任何功能

六、JSP九大内置对象

JSP的内置对象指的是Tomcat服务器将JSP页面翻译为Java类之后内部提供的九大对象:

(将page指令的isErrorPage属性写成true可以出现exception对象)

request:请求对象

response:响应对象

pageContext:JSP的上下文对象

session:会话对象

application:servletContext对象

config:ServletConfig对象

out:JSP输出流对象

page:指向当前JSP的对象

exception:异常对象

七、JSP四大域对象

域对象是指可以像Map一样存取数据的对象,四个域对象功能一样,只是对数据的存取范围不同

代码演示1:四个域对象存取数据的范围的不同(在web目录下创建)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>scope1</title>

</head>

<body>

<h1>页面</h1>

<%

//向四个域对象中分别保存数据

("key", "pageContext");

reque("key", "request");

("key", "session");

a("key", "application");

%>

<%-- <jsp:forward page=""></jsp:forward>是请求转发标签,

page属性设置请求转发的路径 --%>

<jsp:forward page=";></jsp:forward>

</body>

代码演示2:在web目录下创建

<head>

<title>Title</title>

</head>

<body>

<h1>页面</h1>

<%-- JSP页面中不加任何标签直接输入的内容被write方法输出在浏览器的页面上 --%>

pageContext域是否有值:<%=("key")%> <br>

request域是否有值:<%=reque("key")%> <br>

session域是否有值:<%=("key")%> <br>

application域是否有值:<%=a("key")%> <br>

</body>

运行结果1:

运行结果2:

注意:若四个域对象在使用时范围都可满足要求,则使用的优先顺序是(范围从小到大):

pageContext --> request --> session --> application

八、JSP的out输出和re输出的异同

1.相同点:response表示响应,用于给客户端(浏览器)返回内容

out同样也是用于给客户端(浏览器)输出内容

2.不同点:

3.注意:由于官方的代码中翻译后的Java代码底层都是使用out进行输出,故一般都使用out进行 输出,out又分为write方法和print方法:

(1) out.print():会将任何内容转换成字符串后调用write方法输出

(2) out.write():输出字符串没有问题,但输出int型时会将int转换成char输出,导致输出的并非是想要的数字而是数字对应的ASCII码

结论:JSP页面的代码脚本中任何要输出在浏览器的内容均使用out.print()方法

九、JSP的常用标签

1. 静态包含

(1)使用场景:

(2)使用方法:

<%@include file=""%>

其中file属性设置要包含的JSP页面,以/打头,代表http://ip:port/工程路径/,对应web目录

代码演示1:在web目录下创建body.jsp

<body>

头部信息 <br>

主体信息 <br>

<%@include file=";%>

</body>

代码演示2:在web目录下创建

<body>

页脚信息 <br>

</body>

运行结果:

(3)静态包含的特点:

①静态包含不会将被包含的JSP页面翻译成.java.class文件

②静态包含是把被包含的页面的代码拷贝到body.jsp对应的Java文件的对应位置执行输出

2. 动态包含

(1)使用方法:

<jsp:include page=””></jsp:include>

其中page属性设置要包含的JSP页面,与静态包含一致

(2)动态包含的特点:

①动态包含将被包含的JSP页面翻译成.java.class文件

②动态包含还可以传递参数

③动态包含底层使用如下代码调用被包含的JSP页面执行输出:

org.a(request, response, “/”, out, false);

代码演示1:在web目录下创建body.jsp

<body>

头部信息 <br>

主体信息 <br>

<jsp:include page=";>

<jsp:param name="username" value="Jaychou"/>

<jsp:param name="password" value="root"/>

</jsp:include>

</body>

注意:

  1. 设置参数的标签要写在动态包含之中
  2. 出现Expecting “jsp:param” standard action with “name” and “value” attributes异常,两个原因:

①动态包含中未设置参数但没有把<jsp:include page=””></jsp:include>放在一行上

②动态包含中加了注释

代码演示2:在web目录下创建

<body>

页脚信息 <br>

<%=reque("username")%>

</body>

运行结果:

(3)动态包含的底层原理:

十、ServletContextListener监听器

1. Listener监听器的介绍

(1) Listener监听器是JavaWeb的三大组件之一

(2) Listener监听器是JavaEE的规范(接口)

(3) Listener监听器的作用是监听某件事物的变化,然后通过回调函数反馈给程序做一些处理

2. ServletContextListener监听器

ServletContextListener监听器可以监听ServletContext对象的创建和销毁(web工程启动时创建,停止时销毁),监听到创建和销毁之后都会调用ServletContextListener监听器的方法进行反馈:

public interface ServletContextListener extends EventListener {

//在ServletContext对象创建之后调用

public void contextInitialized(ServletContextEvent sce);

//在ServletContext对象销毁之后调用

public void contextDestroyed(ServletContextEvent sce);

}

3. ServletContextListener监听器的使用步骤

(1) 编写一个类实现ServletContextListener接口

(2) 重写两个方法

(3) 在web.xml文件中配置监听器

代码演示1:创建一个类

ublic class ListenerTest implements ServletContextListener {

@Override

public void contextInitialized(ServletContextEvent servletContextEvent) {

Sy("ServletContext对象创建");

}

@Override

public void contextDestroyed(ServletContextEvent servletContextEvent) {

Sy("ServletContext对象销毁");

}

}

代码演示2:在web.xml中配置

<listener>

<!-- <listener-class>标签中写上述程序的全类名 -->

<listener-class>com.qizegao.;/listener-class>

</listener>

运行结果:

Tomcat服务器启动之后控制台输出ServletContext对象创建

Tomcat服务器停止之后控制台输出ServletContext对象销毁

注意:

  1. 查看翻译后的Java源文件的方法:启动Tomcat服务器访问到JSP页面之后在控制台输出的信息的前端找到Using CATALINA_BASE中的路径,在硬盘中打开此目录,点击work --> Catalina --> localhost,找到对应的工程文件夹寻找即可
  2. 访问JSP页面其实是在执行对应的翻译后的Java代码的_jspService方法:翻译后的Java类中没有service方法,而是重写了父类的_jspService方法,这个方法会被父类的service方法调用


[机智]点击获取资料

1.《【jsp入门教程】JSP的基本使用总结》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【jsp入门教程】JSP的基本使用总结》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2551885.html

上一篇

阳光之下一共多少集看这里!当我看了20集《阳光之下》

【jsp入门教程】专题Javaweb学习(五)JSP技术

【jsp入门教程】专题Javaweb学习(五)JSP技术

jsp入门教程相关介绍,JSP技术 提问量: 15满分3360 100 响应时间:11-01 22336020 ~ 再做一次 100分 一.选择题(共8题,52.8分) 1.JSP文件在第一次运行时由JSP引擎编译为()文件...

关于jsp入门教程我想说关于Java中的 JSP 你了解多少?

关于jsp入门教程我想说关于Java中的 JSP 你了解多少?

jsp入门教程相关介绍,JSP代表Java服务器页面。应用程序服务器端使用的编程工具。 JSP 基本上用于支持平台 – 独立和动态的方法来构建 Web 依赖的应用程序。JSP 页面类似于 ASP 页面,因为它们是在服务器上编...

jsp入门教程看这里!「JSP入门」JavaWeb项目如SSH或SSM等如何提升80%以上效率

jsp入门教程看这里!「JSP入门」JavaWeb项目如SSH或SSM等如何提升80%以上效率

jsp入门教程相关介绍,Java web项目的主流MVC框架 结构字符串希伯来人(SSH) 最轻的理学SSM(Structs Spring Mybatis) 最常见(JSP servlet JavaBean) Java we...

关于jsp入门教程我想说干货分享:带你玩转JSP网站开发技术

关于jsp入门教程我想说干货分享:带你玩转JSP网站开发技术

jsp入门教程相关介绍,Java server pages(JSP)是一种服务器端编程技术,使您能够创建独立于动态平台的方法来构建基于web的应用程序。 JSP 可以访问 Java API 的整个家族,包括访问企业级数据库的...

【jsp入门教程】专题web编程教程-jsp入门学习的笔记

【jsp入门教程】专题web编程教程-jsp入门学习的笔记

jsp入门教程相关介绍,1课程复习 会话管理 1)会话管理:管理浏览器和服务器之间会话期间生成的会话数据 2)cookie技术:会话数据存储在浏览器客户端。 Cookie核心的API: 2.1 在服务器端创建Cookie对象...

关于jsp入门教程我想说一文学会JSP

关于jsp入门教程我想说一文学会JSP

jsp入门教程相关介绍,构建web应用程序 使用IDEA构建web应用程序。 新建项目 添加新Tomcat 选择正确的Tomcat 选择Filsh 创建一个好目录,如下所示 自动生成的Web。XML文件如下 ?嗯?Xml版本...

jsp入门教程看这里!Java学习知识点:小白如何掌握JSP技术?

jsp入门教程看这里!Java学习知识点:小白如何掌握JSP技术?

jsp入门教程相关介绍,今天,广州编辑陈峰将告诉大家如何掌握零基础JSP技术。请看下面。(大卫亚设)。 一、Java基本开发JSP概述 1.关于JSP Javaserver Pages (JSP)从单词“server”中可以...

jsp入门教程看这里!Java Web程序员应知应会:Jsp的内置对象与应用

jsp入门教程看这里!Java Web程序员应知应会:Jsp的内置对象与应用

jsp入门教程相关介绍,Jsp已经是中古时代的技术,但对于很多新入门的程序员来说,学习JSP不仅是理解javaEE设计原理的重要部分,也是理解目前盛行的战后分离技术源流的基础。 而且,很多程序员可能会接触到的一些中古时期的代...