JSP基础

JSP起源

JSP,Java Server Pager的简称。由SUN倡导并联合其它公司创建。

JSP是一门脚本语言

JSP可以嵌入到HTML中

JSP拥有Java语言的所有特性

面向对象、健壮、多线程、安全、可移植、高性能

JSP运行于JSP容器中

Tomcat、Jetty等。

JSP会被转换成Servlet

JSP->Servlet->Class文件。

JSP基本语法

<% %> JSP代码段,可以输入任意的Java语言片段。
<%! %> JSP声明,在JSP页面范围声明变量、函数和类。
<%= %> JSP表达式
JSP中HTML注释:

  1. <!-- -->
  2. <!-- <% %>-->

<%— —%> JSP注释,不会被客户端浏览器看到。

JSP编译指令

通知Servlet引擎处理消息,它只在JSP程序被转化成Servlet的过程中起作用。

Page指令

在JSP最上方,用于指定语言,MIME,编码,错误跳转页面等等。
1. contentType指定MIME和网页编码,无859.
2. import导入多个java类,也可以使用多个page导入多个java类。
3. errorPage表示JSP页面发生运行时错误跳转的页面。

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.ArrayList,java.util.LinkedList"
  2. errorPage="err.jsp"%>

include指令

静态包含指令,可将外部文件包含进来。包含JSP文件时,不能有重复的变量声明。
被导入的JSP编译指令会起作用。

  1. <%@ include file="header.jsp"%>

taglib指令

申明该JSP文件使用了自定义的标签。

  1. <%@ taglib uri="" prefix="c"%>

1、uri属性:用来指定标签库的存放位置。
2、prefix属性:指定该标签库必须使用的前缀。

JSP动作指令

客户端请求时动态执行的指令

forward指令

重定向指令,它下面的代码不会被执行,不会被返回到客户端。
可以通过jsp:param指令向跳转的JSP页面传递参数。在目标JSP页面中通过request.getParameter()方法接收参数。

  1. <jsp:forward page="err.jsp">
  2. <jsp:param name="name" value="bendeng"></jsp:param>
  3. <jsp:param name="pass" value="8765432"></jsp:param>
  4. </jsp:forward>

include指令

动态包含指令,包含静态HTML和动态JSP文件。
被导入的JSP编译指令不会起作用,并可以额外加参数。

  1. <jsp:include page="body.jsp">
  2. <jsp:param name="bgcolor" value="red"></jsp:param>
  3. </jsp:include>

在被包含的JSP文件中通过request对象将body背景色修改为传过去的值。

  1. <body bgcolor="<%=request.getParameter("bgcolor")%></body>

useBean指令

JavaBean:一个公开的构造函数、属性有get、set方法、可序列化。
例如:我们在接收提交的页面的,使用User这个bean,然后使用useBean指令配合setProperty、getProperty指令来接收显示提交内容:
提交页面如下:

  1. <form action="regist.jsp" method="post">
  2. 用户名:<input type="text" name="name"/><br>
  3. 密码:<input type="password" name="pass"/><br>
  4. <input type="submit" value="提交"/>

接受页面如下:

  1. <jsp:useBean id="user" class="com.ben.bean.User"></jsp:useBean>
  2. <jsp:setProperty property="name" name="user"></jsp:setProperty>
  3. <jsp:setProperty property="pass" name="user"></jsp:setProperty>
  4. <jsp:getProperty property="name" name="user"></jsp:getProperty>
  5. <jsp:getProperty property="pass" name="user"></jsp:getProperty>