JSP注意事项

1. 在使用directive的时候,类似page,include等除了必须在前面加‘@’之外,字母必须小写,jsp区分大小写。

<%@page import="java.util.*"%>
<%@page contentType="text/html"%>
<%
	out.println(new Date());
%>

2. JSP中可以没有任何明显的html语句,比如<html><head>等,直接写一条语句就可以打印在网页上。

<%
	out.println("Page Error");
%>

3. @include包含文件使用的是file,jsp:include使用的是page。

<%@include file="data.jsp"%>
<jsp:include page="data.jsp" flush="true"/>

4. 可以不适用out.println()向网页中输出信息,直接使用<%=也可以。

<%=	new java.util.Date().toLocaleString()%>

5. jsp:forward和sendRedirect()的区别

使用jsp:forward时,页面的转换发生在服务器端,在客户端显示的依然是当前访问的页面而不是跳转后的页面,而且访问页面和跳转后的页面使用的是同一个request所以向访问页面传送参数就等于像跳转的页面传送参数

<html>
	<head>
	<title>forward1</title>
	</head>
	<body bgcolor=red>
	<jsp:forward page="forforward1.jsp">
		<jsp:param name="name" value="m"/>
		<jsp:param name="oldName" value='<%= request.getParameter("name")%>'/>
		<jsp:param name="roles" value="manager"/>
	</jsp:forward>
	</body>
</html>

<html>
	<head>
	<title>forforward1</title>
	</head>
	<body bgcolor=blue>
		this is page forforward1.jsp
		<br>
			<%= request.getParameter("name")%>
			<%= request.getParameter("oldName")%>
			<%= request.getParameter("roles")%>
			<%= request.getParameter("ccc")%>
		</br>
	</body>
</html>

我们在访问的时候访问的是forward1.jsp页面会跳转到forforward1.jsp,此时我们给forward1.jsp传递参数就是像forforward1.jsp传递参数。

sendRedirect()也是页面的跳转,但是他和客户端的交换是双向的,所以客户端显示的会由访问的页面变成跳转的页面,同时两个页面的request是不

相同的,也就是说像访问的页面传递参数在跳转后的页面是无法接受到的。

<%
	response.sendRedirect("forforward1.jsp");
%>

我们在访问redirect.jsp的时候给此页面传递name参数,但是在跳转到的forforward1.jsp中是无法接收到的。

如图中所示,中间一列上面一个方框代表的是通过for:forward访问第

三列的页面,下面一个方框代表的是通过sendRedirect()进行访问,可见通过for:forward进行访问,页面的转换对客户端来时是掩藏的发生在服务器

端,但是通过sendRedirect()进行访问时实际上是通知客户端去访问另一个页面,所以客户端的URL会发生变化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值