javaWeb_JSP

JSP本质是一个servlet。编译时会为jsp动态生成相应.class文件,里就是此jsp对应的类,且派生自servlet。

JSP定义:Java Server PageJava服务器端页。即:在HTML页面中编写Java代码的页面。

1. 隐含对象

Jsp共有9个隐象:

2. 注

<%--  JSP注释 --%>

<!--  HTML注释-->

区别:JSP注释可以阻止Java代码的执行

,在jsp中有如下代码

<% System.out.println(“…”);%>

如果使用<%-- --%>起来,则后台不会输出

如果使用<!-- -->起来,后台还会输出。

1. 请求转发与重定向

 

求的重定向

Response.sendRedirect(“servlet_or_url”);

 

求的转发

RequestDispatcher requestDispatcher = request.getRequestDispatcher(“/”+ “servlet_or_url”);

requestDispatcher.forward(request, response);

  

2. JSP 指令

 一共有三种指令:page  include  taglib

 Page:

<%@ page 

language="java" 

contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"

import="java.util.Date" 

session="true"

isElIgnored="true"

errorPage="error.jsp"

isErrorPage="false"

%>

 language:只能是”java”

 contentType:指定当前JSP的响应类型和页面的编码

pageEncoding:指定编码

pageEncodingjsp文件本身的编码

contentTypecharset是指服务器发送给客户端时的内容编码

 import:在页面中使用某些java类时需要引入声明,如:

<% Date date = new Date();%>

:如果有引入则名会报红,将光标放到类后,alt+/,会弹出框,选择相应的类即可引入声明。

sessionfalse表示页面中不能使用隐session对象,如

<%= session.getId() %>

 isElIgnored:指定当前JSP页面是否可以使用EL表达式,通常为true

 errorPage:当页面出错时自动跳转到指定页面,而不是在当前页面报错(给用户不好的体验)如:在页面中添加错误代码:

<% int i = 10/0;%>

 isErrorPage:为true表示当前页面为错误页面,就可以直接使用exception对象了:

<h3> 错误页面 </h3>

errorMsg : <%= exception.getMessage() %>

 

include:

如:在一个页面的body里添加如下代码

<%@ include file="homePage.jsp" %>

终的结果是,homePage.jsp在工程编译的时候就被翻译到了当前页面的相应位置,这种引入称为静态引入

好的证就是,在当前页面定义一个java对象,在homePage.jsp中直接使用此对象,结果访问当前页面可以正常使用此对象,访问homePage.jsp则直接报错,因为此对象它自己的页面中没有定义。


1. JSP标签

Jsp标签都以小写的jsp作为前缀,如

<jsp:include> <jsp:forword>

<jsp:include>

<jsp:include page="homePage.jsp"></jsp:include>

另外一个资源的输出内容插入到当前jsp页面的输出内容中。个页面在翻译时会生成两个相应的类文件然后通过一个方法的方式把目标页面包含进来,称为态引入

:静态引入动态引入的本质区别在于jsp的源文件个数,开发过程中并不需要格外注意,两者都可以。

 

<jsp:forword>

<jsp:forward page="homePage.jsp"></jsp:forward>

   页面中直接进行转发。页面地址不变,但内容跳转到了homePage.jsp

当于

<%

RequestDispatcher requestDispatcher = request.getRequestDispatcher("/homePage.jsp");

requestDispatcher.forward(request, response);

%>

者的区别在于<jsp:forward>使用<jsp:param>子标签给目标页面传参。如:

<jsp:forward page="homePage.jsp">

<jsp:param value="gary" name="username"/>

</jsp:forward>

在homePage.jsp中输出参数

<h2> 首页</h2>

<%= request.getParameter("username") %>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值