JSP基础知识
注:jdk的配置方法以及tomcat的配置方法待补充,有错欢迎指出~
JSP页面的基本结构
1.html标签
2.css
3.变量和方法
4.java代码段
5.jsp动作与指令
6.其他脚本语言(JavaScript等)
<body>
<%="hello world!" %> //输出hello world语句
</body>
jsp标记以<%开头,%>结尾
JSP三种注释方法
1.隐藏注释
<%-- 这里是注释1 --%>
<%-- 这种注释在发布网页时看不到注释,在源文件中也看不到注释。 --%>
2.html注释
<!-- 这里是注释2 -->
<!-- 这种注释在发布网页时看不到注释,但在源文件中是可以看到注释的。 -->
3.Java注释
<%// 这里是注释3 %>
<%// 这种注释在发布网页时看不到注释,在源文件中也看不到注释。 %>
常用脚本元素
1.变量和方法的申明
语法格式:
<% 语句1;...;语句n; %>
注:
jsp标记以<%开头,%>结尾
一句语句用;结尾(和java类似)
命名规则和java中的命名规则相似
声明的变量和方法只在当前页面有效(如果想都用到,有专门的jsp语句,后面再说- -)
变量类型和java同用(方法等也同用。。)
例如:
<% int i = 0; %> //定义了一个int类型的i变量
<% int a, b, c; %> //定义了三个int类型的变量,分别为a,b,c
<% String str = "hello world"; %> //定义了一个字符串变量
2.表达式
<%=0 %> //输出0
<%=str %> //输出str字符串
注:
<%= 中间没有空格
语句结尾不需要加;
基本用在以下几种情况:
1.向页面输出内容(常用)
2.生成动态的链接地址
3.动态指定form表单处理页面
例如:
<body>
<%
String name = "CSDN博客";
String url = "http://write.blog.csdn.net/";
String page = "www.baidu.com";
%>
用户名:<%=name %>
<a href = "<%=url %>CSDN博客</a>
<form action = "<%=page %>"></form>
</body>
3.脚本语言
jsp中的代码部分,是一段java代码,几乎可以使用任何java语法。脚本定义的变量和方法在当前整个页面有效,但不会被其他线程共享。当变量所在的页面被关闭时变量被销毁。
语法格式:
<% 脚本语句 %>
JSP常用指令
page指令
page指令用来定义jsp文件中的全局属性。
1.language属性
language属性用于指定jsp页面中使用的脚本语言,默认为java(目前只能用java,用其他的会异常)。
例如:
<@page language = "java" %>
2.extends属性
extends属性用于指定jsp编译器父类的完整限定名,该jsp页面产生的servlet将有父类继承而来。
例如:
<%page extends = "javax.servlet.http.HttpServlet" %>
注:一般建议不使用
3.import属性
import属性用于导入jsp页面所使用的Java API类库。该属性可以多次设置,用来指定jsp中所用到的类。
例如:
<%page import = "java.util.Date" %> //导入date类
注:需要多次导用时,可以逐一声明,也可以在同一个声明中用逗号分隔。
4.session属性
session属性用于指定是否可以使用session对象,允许为true,否则为false,默认为true。
注:关于session之后会详说。
5.buffer属性
buffer属性用于设定页面的缓冲区大小(字节数),属性值为none,表示禁用,默认值为8kb。
例如:
<%@page buffer="64kb" %> //设置页面缓冲区大小为64kb
<%@page buffer="none" %> //禁用缓冲区
6.autoFlush属性
autoFlush属性用于指定jsp页面缓冲区是否自动刷新,默认为true,如果指定为false,在页面缓冲区满时会抛出一个异常。
例如:
<%@page autoFlush = "false" %> //页面缓冲区不自动刷新
7.isThreadSafe属性
isThreadSafes属性用于指定jsp页面是否能够处理一个以上请求,为true时页面可以接收多个jsp发出的请求;为false时,jsp会对收到的请求进行排队,当前页面同一时刻只能处理一个请求,默认为true。
例如:
<@page isThreadSafe = "true" %>
8.info属性
info 属性定义一个可以在 servlet 中通过 getServletInfo 方法获取的字符串,无默认值。
例如:
<%@page info = "Some Message" %>
9.errorPage属性
errorPage属性用于指定错误页面,由该页面来处理当前页面中抛出但未被捕获的任何异常(即类型为 Throwable 的对象),默认为空,即没有错误处理页面。
例如:
<%@page errorPage = "404.jsp" %> //设置404.jsp为指定错误页面
10.isErrorPage属性
isErrorPage属性指定jsp页面是否为处理异常错误的页面,默认值为false。
例如:接上404.jsp
<%@ page isErrorPage = "true" %> //指定当前的404.jsp为异常处理页面
11.contentType属性
contentType属性用于指定内容MIME类型和jsp页面的编码方式,对于普通的jsp页面,默认的contentType为”text/html;charset=ISO-8859-1”。
例如:
<%@page contentType = "text/html;charset=ISO-8859-1" %>
//需要支持中文需要将iso-8859-1换成utf-8
12.pageEncoding属性
pageEncoding属性用于指定jsp页面的编码方式,默认为ISO-8859-1,需要支持中文需要设置为utf-8。
例如:
“`html
<%@page pageEncoding = “uft-8” %>