JSP基础语法
1.1 JSP注释
- 显式注释语法:
<!--注释内容-->
- 隐式注释语法:
<%
//单行注释
/*多行注释*/
%>
隐式注释客户端无法看见
1.2 Scriptlet(脚本小程序)
<%%>:主要用于定义局部变量、编写语句
<%!%>:主要用于定义全局变量、方法、类,不能出现其他语句
尽量不要在JSP中定义类和方法<%=%>:表达式输出
<%
String info = "www.baidu.com";
%>
<h1>website=<%=info%></h1>
1.3 scriptlet标签
scriptlet标签使用效果和<%%>一样
<jsp:scriptlet>
String url="www.baidu.com";
</jsp:scriptlet>
<h2><%=url%></h2>
1.4 page常用指令
1. contentType设置MIME
MIME表示打开文件的应用程序类型,
page指令中,contentType可以指定文件的显示方式
例如:
<%@ page language="java" contengType="text/html;charset=GBK"%>
<%@ page language="java" contengType="application/word;charset=GBK"%>
2. pageEncoding设置文件编码
charset是指服务器发送给客户端的内容编码,pageEncoding指的是JSP文件本身的编码。如果pageEncoding存在,那么JSP编码由pageEncoding决定,否则由charset决定,如果两个属性都不存在,则默认为ISO-8859-1
例如:
<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>
一般一个JSP页面只需要按照网页显示(text/html),则使用pageEncoding设置编码即可。
3. errorPage错误页的设置
错误页设置两步骤:
1. errorPage属性指定错误出现时的跳转页;
2. isErrorPage属性指定错误页标识
例如:
错误页中:
<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>
<%@page errorPage="error.jsp"%><!--一出现错误即跳转到错误处理页-->
错误处理页中:
<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>
<%@ page isErrorPage="true"%><!--表示该页面用于处理错误-->
错误页跳转输入服务器端跳转
可以修改Web.xml文件,实现在虚拟目录指定全局的错误处理
<error-page>
<error-code>500</error-code>
<location>/ch05/error.jsp</location>
</error-page>
依然服务器端跳转
4. 数据库连接操作
在page指令中可以使用import导入所需要的java开发包,导入java.sql包,进行数据库开发。
配置数据库的驱动程序,将mysql的驱动程序mysql-connector-java-5.0…复制到tomcat6.0\lib目录中,并重启服务器
例如:使用JSP列出emp表数据
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head><title>www.bruce.com</title></head>
<body>
<%!
//定义数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
public static final String DBUSER = "root";
public static final String DBPASS = "mysqladmin";
%>
<%
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
%>
<%
try{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql = "SELECT empno,ename,job,sal,hiredate FROM emp";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
%>
<center>
<table border="1" width="80%">
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>雇员工作</td>
<td>雇员工资</td>
<td>雇员日期</td>
</tr>
<%
while(rs.next()){
int empno = rs.getInt(1);
String ename = rs.getString(2);
String job = rs.getString(3);
float sal = rs.getFloat(4);
java.util.Date date = rs.getDate(5);
%>
<tr>
<td><%=empno%></td>
<td><%=ename%></td>
<td><%=job%></td>
<td><%=sal%></td>
<td><%=date%></td>
</tr>
<%
}
%>
</table>
</center>
<%
}catch(Exception e){
e.printStack();
}finally{
rs.close();
pstmt.close();
conn.close();
}
%>
</body>
</html>
1.5 包含指令
1.5.1 静态包含
语法:<%@ include file = "要包含的文件路径"%>
包含的文件可以是JSP,HTML,文本,或者是一段Java程序。包含操作实际上是将被导入的文件内容导入,一起进行编译,最后再将一份整体的内容展现给用户
例如: