jsp

目录

 

出错页面

 包含其他页面的两种方法

 两种方法的比较:

网页跳转的两种方法

跳转携带参数

 jsp内置对象

四个作用域对象


出错页面

当程序出错了跳转到出错页面。

在页面的头部添加errorPage="error.jsp"信息

在错误页面头部添加isErrorPag=“true”信息

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	我是index.jsp页面。
	<%=10/0 %>
</body>
</html>

 error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
出错了。。<%=exception.toString() %>
</body>
</html>

刚问index页面报错

出错了。。java.lang.ArithmeticException: / by zero 

 包含其他页面的两种方法

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	我是index.jsp页面。<br>
        <%-- 第一种方法:静态包含 --%>
	<%@include file="other.jsp" %>
        <%-- 第二种方法 --%>
        <%-- <jsp:include page="other.jsp"></jsp:include> --%>
</body>
</html>

other.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	我是other页面的内容。
</body>
</html>

访问index页面出现信息

我是index.jsp页面。
我是other页面的内容。 

 两种方法的比较:

静态包含是先将页面代码包含进来,再运行。

动态包含是先将页面运行,再包含起来。

网页跳转的两种方法

效果相同

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	我是index.jsp页面。<br>
	<!-- 方法一:jsp跳转 -->
	<%-- <jsp:forward page="other.jsp"></jsp:forward> --%>
	<!-- 方法二:请求转发 -->
	<%
		request.getRequestDispatcher("other.jsp").forward(request, response);
	%>
</body>
</html>

跳转携带参数

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	我是index.jsp页面。<br>
	<jsp:forward page="other.jsp">
		<jsp:param value="zhujunwei" name="name"/>
	</jsp:forward>
	
</body>

other.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%=request.getParameter("name") %>
</body>
</html>

 jsp内置对象

九大内置对象

pageContext

request

session

application

out

response

exception

page

config

 

四个作用域对象

pageContext【PageContext】

作用域仅限于当前的页面。还可以获取到其他八个内置对象。

request【HttpServletRequest 】

作用域仅限于一次请求, 只要服务器对该请求做出了响应。 这个域中存的值就没有了。

session【HttpSession 】

作用域限于一次会话(多次请求与响应) 当中。

application【ServletContext 】

整个工程都可以访问, 服务器关闭后就不能访问了。

作用域大小pageContext < request < session < application

三种输出

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	默认的内容<br>
	<%
		out.write("这是out输出内容");
	%>	
	<br>
	<%
		response.getWriter().write("这是response输出的内容");
	%>
	<br>
</body>

结果

这是response输出的内容 默认的内容
这是out输出内容

 

posted @ 2019-01-07 19:11  雨中遐想  阅读(4)  评论(0编辑  收藏  举报  来源