> 文档中心 > 【JavaWeb】 jsp学习了解

【JavaWeb】 jsp学习了解


【JavaWeb】 jsp学习了解

前言

这里简单说些jsp,这里推荐一个教程网站,菜鸟教程,找到jsp这一节,说的非常清楚挺好的,这里也是参考那个,大家可以把那里当作教程,然后这里是课堂然后一起看,效果更好哦,看前点个赞,养成好习惯👍

书接上回:
【JavaWeb】-Tomcat、Eclipse使用项目搭建(一)
【JavaWeb】-mysql、jdbc、dbcp使用(二)
【JavaWeb】-MVC、Servlet学习(三)
【JavaWeb】-Cookie、Session,token+学习(四)

  • Cookie的使用
  • Session的使用
  • token的使用

【JavaWeb】-jsp简单了解(五)

介绍

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

前面我们知道了servlet,其实jsp页面最后就是被转换为servlet的html页面,这里我们可以看下:

新建一个test.jsp页面,前面虽然我们不知道但是也应用了

Insert title here<%out.print("

hello world

");%>

我们运行一下:

在这里插入图片描述

是不是就输出了我们输出的

hello world

,在很早之前没有jsp这门技术,都是通过servlet在servlet通过这样输出,然后将html页面输出到页面,像这样,但是是不是很不方便,就是因为不方便技术才会进步嘛

我们可以直接写html然后同时在html里面也可以写java代码,其实最后就会产生了jsp这门技术,而其实也是通过jsp页面转化成功servlet这样,那过多的话就不说了,我们直接看知识点和如何使用;

在这里插入图片描述

jsp语法

我们先来学习jsp语法,怎么在jsp页面写java代码;

我们想要写java代码可以用以下形式用括起来里面写java代码:

以下把菜鸟教程当教科书,做教科书参考:

比如我们上面所写的:

<%out.print("

hello world

");%>

设置编码

如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:

我们在新建jsp页面的时候,会自动添加上,前提是设置了eclipse设置了jsp的编码格式为utf-8

window —-> perferences:

在这里插入图片描述

声明变量

比如我们声明一个变量;

其实也可以在里面声明,但是鉴于规范可以在声明

如何在html里面输出表达式:

其实也可以在里面输出,但是这里不是用System.out中输出,这样是向控制台输出,而是用jsp内置对象out向屏幕输出:

就像刚才的,这样是向屏幕输出,而过使用了System.out就会向你的控制台输出;

<%out.print("

hello world

");%>

那为什么又有一个这样的输出呢,,你不要觉得不好,这个贼还用,比如这样,我们通过servlet传递到前台的值,可以直接作为input的value,特别好用;

<input value="" />

还有一些其他的,都在这里

语法 描述
JSP注释,注释内容不会被发送至浏览器甚至不会被编译
HTML注释,通过浏览器查看网页源代码时可以看见注释内容
<% 代表静态 <%常量
%> 代表静态 %> 常量
在属性中使用的单引号
" 在属性中使用的双引号

指令

其实也不是什么,接着我们的理解,我们比如要使用utli包里面的东西是不是要导包啊,这时候可不是就行了,这里我们叫指令,没几个,看看吧:

     //导包包含其他文件引入标签库的定义,可以是自定义标签

加大内置对象

和我们在servlet中使用差不多,这里比如out我们也使用过了:

对象 描述
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
exception exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象

生命周期

那没那么多复杂的可难的,我们看一下生命周期,以下代码来自菜鸟教程:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><html><head><title>test</title></head><body><%!   private int initVar=0;  private int serviceVar=0;  private int destroyVar=0;%>  <%!  public void jspInit(){    initVar++;    System.out.println("jspInit(): JSP被初始化了"+initVar+"次");  }  public void jspDestroy(){    destroyVar++;    System.out.println("jspDestroy(): JSP被销毁了"+destroyVar+"次");  }%><%  serviceVar++;  System.out.println("_jspService(): JSP共响应了"+serviceVar+"次请求");  String content1="初始化次数 : "+initVar;  String content2="响应客户请求次数 : "+serviceVar;  String content3="销毁次数 : "+destroyVar;%><h1>菜鸟教程 JSP 测试实例</h1><p><%=content1 %></p><p><%=content2 %></p><p><%=content3 %></p></body></html>

在这里插入图片描述

我们把它当成servlet使用就可以了本质也就是servlet,jsp最后就是编译成一个个servlet类;

jstl

介绍

在这里插入图片描述

其实就是在对jsp页面编写使用的再一次简化,很简单,了解下:

引入依赖

需要连个jar包:jstl.jarstandard.jar

常用的就是c标签了,jsp页面上添加:,这时候我们就可以使用C标签了

因为通过java编写输出比如很多列表的循环,我们通过jsp页面去写,会是这样的效果:

在这里插入图片描述

那这里的循环还是很小一段,假如我们会有很多html代码,还得去写什么这样不管不好写,而且代码可读性太差,那通过jstl我们可以这样,只需要一个标签将html代码围住继续写,这样不光代码可读性提高了,而且是不是很方便了呢:

在这里插入图片描述

C语法

一个表格,我觉得一看就懂吧,就是将我们上面所用的servlet做成了标签这种类似html的标签,提高了可读性,简化了代码,这里推荐大家去菜鸟教程上观看,以及分析,这里就不做过多解释了:

在这里插入图片描述

小结

这里简单了解下,后面我写了一个小例子,简单的小例子,麻雀虽小五脏俱全,那这里还不点个关注,不然之后找不到了,拜拜~