ch5 JSP基础语法--page指令

http://write.blog.csdn.net/postedit

Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。

Page指令的语法格式:

<%@ page attribute="value" %>

页面的MINE

page指令中,如果想让JSP文件显示中文,则必须对整个页面指定MIME编码
在页面前加上:
<%@ page language = "java" contentType = "text/html" pageEncoding = "GBK"%>
<%@ page language = "java" contentType = "text/html;charset = GBK"%>
这两种方式的区别:
pageEncoding指的是JSP文件本身的编码,而contentType中的charset指的是服务器发送给客户端的内容编码
如果pageEncoding存在,那么JSP的编码由pageEncoding中的charset指定,否则由contentType中的charset属性决定;如果都不存在则使用ISO-8859-1的编码方式

错误页的设置

当一个页面出错后,会自动跳转到另一个页面上进行错误信息提示,这个操作通过错误页指定
错误页的操作要满足的条件:
  • 指定错误出现时的跳转页,通过errorPage属性指定
  • 错误处理页必须有明确的标识,通过isErrorPage属性指定



一个简单的跳转程序:show.jsp
<%@ page language="java" contentType = "text/html" pageEncoding = "GBK"%>
<%@ page errorPage = "error.jsp"%>
<%
	int result = 10/0;
%>
<h1>除数为0</h1>

error.jsp
<%@ page language = "java" contentType = "text/html" pageEncoding = "GBK"%>
<%@ page isErrorPage = "true"%>
<h1>除数不能为0</h1>

数据库连接操作

连接数据库需要额外的驱动程序,这里用mysql,则将其驱动拷贝到tomcat安装目录中的lib文件夹中,服务器重启

给自己弄一个网页版的通讯录:
contacts.sql:
/*=============删除数据库=============*/
DROP DATABASE IF EXISTS contact;
/*=============创建数据库=============*/
CREATE DATABASE contact;
/*=============使用数据库=============*/
USE contact;
/*=============删除数据库表===========*/
DROP TABLE IF EXISTS tel;
/*=============创建数据库表===========*/
CREATE TABLE tel(
	num			INT(4)			AUTO_INCREMENT,
	name		VARCHAR(10),     
	relate		VARCHAR(8),    //关系
	phone		VARCHAR(20),   //电话
	mobile		VARCHAR(20),   //手机
	birthday		DATE, //生日
	PRIMARY KEY(num)
);
/*============插入数据===============*/
INSERT INTO tel(name, relate, phone, mobile, birthday)VALUES('xx', 'xx', '0000','00000000','0000-00-00');  //...................

contact.jsp
<%@ page contentType = "text/html" pageEncoding = "GBK"%>
<%@ page import = "java.sql.*"%>
<html>
<head>
	<title>www.thystar.com</title>
</head>
<body>
<%!
	//定义数据库驱动程序
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
	public static final String DBURL = "jdbc:mysql://localhost:3306/contact";
	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 num,name,relate,phone,mobile,birthday FROM tel";
		pstmt = conn.prepareStatement(sql);
		rs = pstmt.executeQuery();
%>
<center>
	<table border = "1" width = "80%">
		<tr>
			<td>编号</td>
			<td>姓名</td>
			<td>关系</td>
			<td>电话</td>
			<td>手机</td>
			<td>生日</td>
		</tr>
<%
		while(rs.next()){
			int num = rs.getInt(1);
			String name = rs.getString(2);
			String relate = rs.getString(3);
			String phone = rs.getString(4);
			String mobile = rs.getString(5);
			java.util.Date birthday = rs.getDate(6);
%>
		<tr>
			<td><%=num%></td>
			<td><%=name%></td>
			<td><%=relate%></td>
			<td><%=phone%></td>
			<td><%=mobile%></td>
			<td><%=birthday%></td>
		</tr>
<%
		}
%>
	</table>
</center>
<%		
	}catch(Exception e){
		System.out.println(e);
	}finally{
		rs.close();
		pstmt.close();
		conn.close();
	}
%>
</body>
</html>



《Java Web开发实战经典--基础篇》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值