jsp内置对象和路径

Jsp内置对象的学习:

内置对象:jsp在转译成其对应的java文件(也就是Servlet)时,会默认在_jspService方法中声明创建几个对象。
特点:我们可以在jsp页面中声明java局部代码块,在代码块中直接使用内置对象。
对象:pageContext:页面上下文对象,此对象封存了另外8个对象。
注意:一个jsp页面一个pageContext对象。pageContext对象每次请求都会重新创建。
作用域:当前jsp页面
request:封存了请求相关数据,由服务器创建
session:解决了同一个不同请求之间的数据共享问题
application:ServletContext对象,解决了不同用户之间的数据共享问题
out:响应数据的对象,交于response对象,out对象底层使用了缓冲区。out对象的效率高于response
response:响应对象,设置编码格式
page:代表当前被执行的jsp转译的java文件的对象
config:ServletConfig对象,使用此对象完成资源的初始化。
exception:jsp页面的异常对象,封存了异常信息。
注意:对象的名字必须是转译好的java文件中声明的对象名。

<%@page language="java"%><%-- 声明转译的语言 --%>
<%@page import="java.util.*,java.lang.*"%><%-- 声明转译时导入的java包文件--%>
<%@page pageEncoding="utf-8"%><%-- 设置jsp的数据保存的编码格式--%>
<%@page contentType="text/html; charset=utf-8"%><%-- 设置数据的响应编码格式--%>
<%@page session="false"%><%-- 设置session的状态,默认为true,也就转译的servlet文件中默认session是开启的,使用false关闭--%>
<%@page isErrorPage="true"%><%-- 默认为false ture表示开启exception异常对象的使用--%>
<%@page errorPage="error.jsp"%><%-- 设置当jsp运行出现异常错误时跳转指定的页面--%>
<%--
	page指令的作用:设置jsp转译的时候的一些配置信息。
 --%>

Jsp路径问题:

问题:在jsp页面中进行资源之间的跳转时,如果书写的是相对路径这样会造成如果当前文件的路径发生变更,从当前路径查找资源的相对路径都要重新进行书写。
解决:将相对路径编程绝对路径
使用:在jsp中路径中的第一个/表示服务器根目录。

示例:<a href="/虚拟项目名/资源路径">访问关键字</a>
    
注意:在Myeclipse中创建的jsp页面会自动生成路径处理代码basePath而basePath的值为当前项目根目录,并且在head标签中使用了<base href="<%=basePath%>">相当于将当前页面的资源全部默认定位为从项目根目录开始查找,我们就不需要写第一个/了
注意:basePath方式和添加/方法只能二选一。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
System.out.println(basePath);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     <base href="<%=basePath%>">
    <title>My JSP 'path.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
   	我是path.jsp
   	<a href="a/a.jsp">a.jsp</a>
   	
   	
   	
  </body>
</html>

资源路径总结:

Jsp 中路径:

1.相对路径:../../资源

2.绝对路径:/虚拟项目名/资源路径(也就是从webapps开始)

简单来说,绝对路径就是不管从外部还是内部访问,都能通过此路径找到文件夹;而相对路径就是相对与自身的,其他位置的文件和路径,只能通过内部访问,外部不能通过此路径访问到文件。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值