JSP初步学习

JSP学习与整理

JSP的概念

JSP全名是Java Server Pages,其根本是一个简化的Servlet,是一个许多公司一起建立的一种动态网页技术标准。说它是动态的,是看其中的数据会不会动态的更改。其本质还是一个Servlet。

JSP的访问原理

JSP的访问经历的如下的过程

  • 浏览器发起请求,请求JSP,,tomcat服务器接收请求。
  • 对于tomcat来说,只去响应Servlet的请求,所以先定位到tomcat下webapps文件夹下寻找别名,未找到则返回tomcat/conf/web.xml搜索全局内容。随后jspServlet方法的要求将.jsp文件转成了一个Servlet请求。(在tomcat的work文件夹下可以找到.jsp文件被转译成了Java文件和对应的class文件)
  • tomcat运行处理完的Servlet。

JSP的三种注释

前端语言注释: <!-- -->
        会被转译,也会被发送,但是不会被浏览器执行
Java注释:
        会被转译,但是不会被servlet执行
JSP注释: <%-- --%>
        不会被转译

JSP的Page指令学习

<%@page 属性名=“属性值” 属性名=“属性值” …%>

language:声明jsp要被转译的语言
import:声明转译的Java文件要导入的包,不同的包用逗号隔开
pageEncoding:设置jsp文件的数据编码格式
contentType:设置jsp数据响应给浏览器时,浏览器的解析和编码格式
session:设置servlet中是否开启session支持,true表示开启,false表示关闭
errorPage:设置jsp运行错误跳转的页面
extends:设置jsp转译的Java文件要继承的父类(包名+类名)

作用:配置jsp文件的转译相关参数。

JSP的局部代码块&全局代码块&脚本段语句

jsp的局部代码块
特点:局部代码块中声明的Java代码会被转译到jsp对应的servlet文件的_Jspservlet方法中代码块中声明的变量都是局部变量。
使用:

<% Java代码 %>

缺点:使用局部代码块在jsp中进行逻辑判断,书写麻烦,阅读困难。
因此,在开发中,我们一般使用servlet进行请求逻辑处理,使用jsp进行页面展现。

jsp的全局代码块
特点:声明的Java代码作为全局代码转译到对应的servlet中
使用:

<%! Java代码 %>

注意:全局代码块声明的代码,需要局部代码块调用
jsp的脚本段
特点:帮助我们快速的获取变量获取方法的返回值作为数据响应给浏览器。
使用:

<%=变量名或者方法名%>

注意:不要在变量名或者是方法名后使用分号。
脚本段的位置可以是除jsp语法以外的任意位置。

JSP静态引用和动态引用

静态

<%@include file=“要引入的jsp文件的相对路径” %>

这种引用会将引入的jsp文件和当前jsp文件转译成一个Java文件使用,在网页中显示了合并后的显示效果。静态引入的jsp文件不会单独转译成Java(servlet)文件,因为它是合并的,所以当前文件和静态引入的jsp文件中不能使用Java代码块声明同名变量,否则会造成因为变量名重复而产生错误。
动态

<jsp:include page=“要引入的jsp文件的相对路径”></jsp:include>

这种引用会将jsp单独转译,在当前文件转译好的Java文件中掉用引入的jsp文件的转译文件,在网页中显示合并后的显示效果。在这种引用下,动态引入允许文件中声明同名变量。它的优点是降低了jsp代码的冗余,便于维护升级 。
.

JSP的转发对象forward

使用:

<jsp:forward page=“forward.jsp”></jsp:forward>

这种转发只会请求一次,地址信息栏不改变。

要注意的是,在转发标签的两个标签之间除了写<jsp:param value=“值” name=“键值”/>,其他信息都会报错

  • name属性为附带的数据的键名
  • value为附带的数据内容
  • 转发时候会将数据以?的形式拼接在转发路径的后面

这里转发,其实是把请求加一个?“键值”=“值”然后这部分数据被存储在request里

JSP九大内置对象

jsp文件在转译成其对应的servlet文件时候自动生成的并声明的对象,我们在jsp页面中直接使用即可。内置对象在jsp页面中使用,只能使用局部代码快或者脚本段语句来使用。

  • pagecontext 页面上下文对象,封存了其他对象jsp运行中所有数据。一个jsp只有一个,它的作用域是当前jspservlet方法
  • request 封存当前请求数据的对象 由tomcat服务器创建。作用域是一次请求
  • session 解决一个用户的不同请求问题,存储用户的不同请求的共享数据 。作用域是一次会话
  • application servletcontext对象,一个项目只有一个,存储用户共享数据的对象,以及完成其操作。作用域是项目内
  • response 用来响应请求处理结果给浏览器的对象。设置响应头,重定向
  • out jsp内部使用。带有缓冲区的响应对象,效率高于response
  • page 相当于java中的this对象
  • exception 存储了当前运行的异常信息
    注意:使用此对象需要在page指定中使用属性isErrorPage=“true”;开启
  • config servletconfig 主要是用来获取web.xml中的配置数据 完成数据初始化读取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值