web基础知识
JSP编译指令和动作指令
page
page编译指令一般位于页面的最上方,用于配置全局变量,如页面的编码,页面的需要的包,页面的类型等。
- language:默认就是java
- contentType:发送给浏览器的的文件属性,默认是html
- charset:指的服务器编译的编码属性,默认是ISO8859-1
- pageEncoding:用于设计jsp本身的编码
- import:用来倒入多个java类
如
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" import="java.util.ArrayList,java.util.LinkedList"%>
- errorpage:错误处理页面,如果页面没有错误处理,则在发生错误时会根据errorpage来制定错误处理程序的相对路径。
- iserrorpage:制定页面是否为错误处理页面
如
//在index页面中认为引发一个异常,设置//errorpage属性到handleerror页面
//设定handleerror页面的iserrorpage属性,将handleeror设定为异常处理页面
index。jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" errorPage="handleerror.jsp" %> <%--设定了错误处理的页面--%>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
int i = 10;
int j = 0;
int c = i/j;
%>
</body>
</html>
handleerror。jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %><%--设置了异常处理页面为true--%>
<html>
<head>
<title>Title</title>
</head>
<body>
发生了异常
</body>
</html>
include编译指令
include可以将外部文件包含到页面中,可以是html文件,jsp文件等。
如
<%@include file = "header.html"%>
<%@include file = "footer.jsp"%>
//在同一个jsp页面中不能用同一个声明变量如在index和footer中都声明变量如<%!int a = 20%>则会报错
forward动作指令
动作指令 客户端在请求时动态执行的
forward:动态定向到html或者servelet过滤器jsp等。
//方式一
<jsp:forward page="handleerror.jsp"/>
<%--重定向指令 下面的内容不会输出--%>
//方式二
不同页面之间用forward传递参数
<jsp:forward page="handleerror.jsp">
<jsp:param name="username" value="elijah"/>
</jsp:forward>
handleerror.jsp
在重定向后的页面来获取和输出传递的参数
<%
String userName = request.getParameter("username");
out.println(userName);
%>
include动作指令
与编译指令不同,include编译指令,属于静态倒入,完全融入一个servelet,编译指令会起作用。
include动态指令是在serve let 中引用了include方法,可以穿入参数,编译不起作用,只是插入body中。
1.<jsp:include page="handleerror.jsp"/>
2.<jsp:include page="handleerror.jsp">
<jsp:param name="bgcolor" value="red"/>
</jsp:include>//可以在 handleerror 页面获取到bgcolor为红色