html转jsp_Jsp 初级篇

什么是jsp?

中文名java服务器页面,本质是一个servlet

jsp访问流程

浏览器发送请求,请求jsp时,服务器会先去项目下找有没有*.jsp的servlet,找不到的情况下去tomcat服务器根目录下找,会找到一个jspServlet(jsp引擎),jspServlet把*.jsp转译成一个servlet,进行处理请求并响应

2834bb9dcd0410bd7c87ac6eeb1ee48f.png

0c9f839588c1d06f427a8409ff07c541.png

page指令的属性及作用

Language:声明被转译的语言

import:导包(多个包用逗号隔开)

pageEncoding:声明jsp保存的编码格式

contentType:声明响应的编码格式

session:开启session(默认值为true开启session,值false时不开启session)

errorPage:发生异常时要跳转的页面

isErrorpage:开启异常对象的使用

<%@page language="java" import="java.util.*" session="true" pageEncoding="utf-8" %>
<%@ page contentType="text/html; charset=utf-8"errorPage="error.jsp" isErrorPage="true" %>

jsp的局部代码块和全局代码块和脚本段语句

<% int count=1; %>>//局部代码块
<%! int i=6; %>//全局代码块
<%= i %>//脚本段语句

局部代码块声明和全局代码块声明的区别

局部代码块:书写的java代码jsp转译到方法中,书写的变量是局部的,不能书写方法

全局代码块声明声明:jsp转译后,在jsp中书写的变量是全局的,可以书写方法

jsp中的注释及区别

 <%-- --%>//jsp本身注释,不会被转译
<html>
	<head>
		<style type="text/css">
			/*CSS注释*/ 会被转译并响应到浏览器
		</style>
	</head>
	<body>	
		<!--html注释-->会被转译并响应到浏览器
		<script type="text/javascript">
			//js注释 会被转译并响应到浏览器
		</script>
	</body>

</html>
<%//java注释 %>//会被转译不会响应到浏览器

静态引入和动态引入的标签

<%@include file="my.jsp"%>//静态引入
<jsp:include page="my.jsp"></jsp:include>//动态态引入

静态引入和动态引入的区别

静态引入:转译后把资源与本身jsp进行合并成一个servlet

动态引入:转译后资源jsp单独生成一个servlet,当前jsp生成的servlet中调用资源生成的servlet

jsp的forward标签

<jsp:forward page="login.jsp"></jsp:forward>//请求转发(开始标签和结束标签之间不能有空格,否则报下面的500错误)

fa2504b6dea4b0a8790ce5b08adc8d26.png

jsp的九大内置

PageContext:上下文对象,封存了另外8大内置对象

Request:封存了用户请求相关的数据

Respone:封存了服务器的响应数据

Session:解决了同一用户之间不同请求的数据共享问题

Application:servletContext对象,解决了不同用户之间的数据共享问题

Config:servletConfig对象 完成资源的初始化

Out:把数据响应到客户端,使用了缓存技术,比response效率块

Exception:异常对象,封存了异常信息

Page:转译后文件的对象

Servlet中请求转发和重定向路径中第一个斜杠的含义

请求转发第一个斜杠:表示项目根目录

重定向路径第一个斜杠:表示服务器根目录

jsp中的路径的第一个斜杠的含义

jsp中的路径的第一个斜杠表示服务器根目录

jsp中的basePath设置的作用

在myeclipse中设置basePath时会默认给每个资源路径加上项目根路径(在写相对路径时其实写的是绝对路径,注意不能在设置basePath不能写绝对路径,否则报404错误)

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> //basePath值为项目根路径
<base href="<%=basePath%>">//给每个资源路径加上项目根路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值