JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的, 不同的是先由服务器编译部署成Servlet执行。
jsp运行过程:jsp --翻译成servlet --编译 --访问
1.JSP注释:<%-- … --%>,转化阶段消失,只能被开发人员看到
2.JAVA注释://、/**/、/***/,编译阶段消失
3.HTML注释:
语法:<%@ 指定元素 属性名=属性值 %>
page指令:用来定义JSP文件的全局属性 语法:<%@ page ...... %>”
注意:在JSP页面中,只有import可以出现多次,其它属性都只能出现一次
下面是page指令标记表格,可以设置page指令标记中的属性:
下面是实例代码,关于page指令标记的使用:
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" session="true" buffer="8kb" autoFlush="true"
errorPage="/jsp/error.jsp" isELIgnored="false"%>
include指令标记: 包含页面(页面布局) 静态包含语法 :<%@ include file=“filename” %>
filename 指的是(服务器端路径,没有项目名称);
静态包含的作用:在JSP页面中静态包含一个文件,同时由JSP解析包含的文件内容
include指令标记的实例代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Insert title here
<%@ include file="/include/head.jsp" %>
<%@ include file="/include/menu.jsp" %>
网站的新闻(数据变化)
<%@ include file="/include/foot.jsp" %>
<%
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
网站的LOGO
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
网站的超链接
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
网站的友情的链接
taglib指令标记:
taglib :引入标签库文件
语法:<%@ taglib %>
属性:
uri :引入标签库文件的名称
prifix :标签库文件的前缀名
主要讲下pagecontext对象,其他对象可以参考前面的博客;
pageContext对象:是一个域对象
功能:
1.向自己域中存取值(3种主要的方法)
Object getAttribute(String name)
void removeAttribute(String name)
void setAttribute(String name, Object value
2.向其他域中存取值:
*public abstract void setAttribute (String name,Object value,int scope) 向某个域中存值
public abstract Object getAttribute(String name,int scope) 向某个域中取值
public abstract Object findAttribute(String name) 按顺序在页面、请求、会话(如果有效)和应用程序范围中搜 索指定属性,并返回关联的值或 null。也就是从最小的域中开 始查找
3.可以获取其他8个对象
getException方法返回exception隐式对象 |
getPage方法返回page隐式对象 |
getRequest方法返回request隐式对象 |
getResponse方法返回response隐式对象 |
getServletConfig方法返回config隐式对象 |
getServletContext方法返回application隐式对象 |
getSession方法返回session隐式对象 |
getOut方法返回out隐式对象 |
定义:JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。
jsp常用标签:
下面是实例代码:
<%-- <% %> --%>
还有转发动作标签的示例代码:
下面是forward.jsp的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
JSP的动作标签
下面是pageContext.jsp的代码,在其中写了如何向其他4个域对象pageContext、request、session、application存取值:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%=request.getParameter("username") %>
从其他域中存取值
<%
pageContext.setAttribute("name", "小明");
//下面这句等价于上面
pageContext.setAttribute("name", "小明", pageContext.PAGE_SCOPE);
request.setAttribute("name", "小龙");
//向request域中存入值
pageContext.setAttribute("name", "小龙", pageContext.REQUEST_SCOPE);
//向session域中存入值
pageContext.setAttribute("name", "张三", pageContext.SESSION_SCOPE);
//向application域中存入值
pageContext.setAttribute("name", "李四", pageContext.APPLICATION_SCOPE);
%>
<%=pageContext.getAttribute("name", pageContext.SESSION_SCOPE) %>
<%=session.getAttribute("name") %>
${ pageScope.name}
${ requestScope.name}
${ sessionScope.name}
${ applicationScope.name}
应该到web.xml中配置,配置代码如下
404
/404.jsp
500
/500.jsp
参考: 传智播客 www.itcast.cn