JSP学习总结

JSP简介

JSP(Java Server Pages)一种Java servlet,主要实现Java
web应用程序的用户界面部分。标签通常以<%开头 以%>结束。

JSP是一种Java servlet,主要实现Java
web应用程序的用户界面部分,结合HTML、XML元素来编写。

JSP可以通过网页获取用户输入数据、访问数据库以及其它数据源,然后动态创建网页。

JSP与JavaScript相比,JavaScript很难与服务器交互,所以不能提供复杂的服务(访问数据库、图像处理)。

JSP结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AeBU60ul-1617925538821)(media/0fe4da520f46d487e238fc6250130adb.png)]

网络服务器需要一个JSP引擎(容器)来处理来自客户端的JSP页面的请求。

JSP处理流程

浏览器发送一个HTTP请求给服务器。

web服务器识别出这是一个对JSP网页的请求,将该请求交给服务器的JSP容器来处理。

JSP容器从磁盘中载入JSP文件,然后将其转换为Servlet,并且将所有的JSP元素转换成Java代码。

JSP容器将Servlet编译成可执行的类,并且将原始请求传递给Servlet引擎。

web服务器某组件会调用Servlet引擎,然后载入并执行Servlet类。之后Servlet产生HTML格式的输出嵌入HTTP
response中交给服务器。

web服务器以静态HTML网页形式将HTTP response返回给浏览器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vnW26gLm-1617925538827)(media/8d400a1d79bf769296a3f586a292215e.png)]

JSP生命周期

JSP生命周期就是从创建到销毁的过程:1.编译阶段:servlet容器编译servlet源文件;2.初始化阶段:加载JSP对应的servlet类,创建实例,并调用方法;3.执行阶段:调用JSP对应的servlet实例的服务器方法;4.销毁阶段:调用与JSp对应的servlet销毁方法,然后销毁实例。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D7nPj02U-1617925538830)(media/ec3b3ae43f0928b39bdde49e0e3538ac.png)]

JSP编译:当浏览器请求JSP页面时,JSP容器会检查是否要编译这个页面,如果这个文件没有编译过或者上次编译被修改过,那么就会编译这个文件。

编译步骤:

1.解析JSP文件

2.将JSP文件转换为servlet

3.编译servlet

JSP初始化:容器载入JSP文件后,JSP容器调用jspInit方法。如果需要自行执行自定义的JSP初始化任务,则覆盖jspInit()方法就可以了。

public void jspInit( ){

//初始化代码

//可以初始化数据库连接,打开文件和创建查询

}

JSP执行:JSP容器将会调用_jspService()方法,该方法需要一个HttpServletReques对象和一个HttpServletResponse对象作为参数。

void _jspService(HttpServletReques a, HttpServletResponse b){

//服务器处理代码

}

JSP清理:JSP网页从容器中被移除,调用jspDestroy()方法等价于servlet中的销毁方法,你也可以自定义覆盖该方法。

public void jspDestory( ){

//清理代码

}

实例:

<%@pagelanguage=」java」contentType=」text/html」;charset=UTF-8」pageEncoding=」UTF-8」%>

<html>

<head>

<title>life.jsp</title>

</head>

<body>

<%!

priavte int initVar=0;

priavte int serviceVar=0;

priavte int destroyVar=0;

%>

<%!

public void jspInit( ){

initVar++;

System.out.println(「jspInit( ):JSP被初始化了」+initVar+」次」);

}

public void jspDestroy( ){

destroyVar++;

System.out.println(「jspDestroy( ):JSP销毁了」+destroy+」次」);

}

%>

<%

serviceVar++;

System.out.println(「_jspService():JSP共响应了」+serviecVar+」次请求」);

String content1=」初始化次数:」+initVar;

String content2=」响应客户请求次数:」+serviceVar;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值