page指令主要的作用是用来设置一个JSP页面的属性。那么主要的属性包含以下几个:
· contentType属性
· import属性
设置MIME类型的属性,例如,现在一个JSP页面中包含了中文:
<h1>中国啊,奥运会!</h1>
因为在浏览器中默认的编码是西欧风格的编码,所以根本无法正确的显示出中文,所以此页面在运行的时候最好直接指定好其操作编码。
·<%@page contentType="MIME类型"%>
<%@page contentType="text/html;charset=GBK"%>
<b>注意:</b>
如果此时MIME类型设置错误,则会出现下载框提示:
<%@page contentType="<b>test/html;charset=GBK</b>"%>
网页制作的时候说过静态页面的后缀可以是*.htm、*.html,两者可以通用就是因为两者的MIME类型的解析方式完全一样。Tomcathome/conf/web.xml
<mime-mapping>
<extension>htm</extension>
<mime-type><b>text/html</b></mime-type>
</mime-mapping>
<extension>html</extension>
那么也就可以直接利用MIME类型将一个页面转成Word进行输出,只需要设置好相应的MIME类型即可,WORD的MIME类型为:
<extension>doc</extension>
<mime-type>application/msword</mime-type>
<b>例如:</b>将一个页面保存成word
<%@ page contentType="application/msword"%>
<table border="1">
<%
for(int i=0;i<10;i++){
%>
<tr>
for(int j=0;j<10;j++){
<td><%=i*j%></td>
}
</tr>
}
</table>
页面运行之后出现了以下的提示框:
在整个page中有很多的属性,但是所有的属性只允许出现一次,惟独只有import属性可以重复出现多次。
<b>例如:</b>以下程序导入多个包
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.sql.*,java.util.*"%>
既然,页面已经可以导入所需要的包,那么就一定可以使用JDBC进行数据库操作,观察下面的步骤,在JSP中直接连接Oracle。
在连接Oracle的时候需要把Oracle中的监听和数据库服务启动,同时需要将驱动程序包拷贝到D:\Tomcat 5.5\common\lib目录下。
<b>PageDemo05.jsp</b><b>:</b><b></b>
<%@ page import="java.sql.*"%>
<%--
查询出EMP表中的全部数据
--%>
<%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:MLDN" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "tiger" ;
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,comm,hiredate FROM emp" ;
pstmt = conn.prepareStatement(sql) ;
rs = pstmt.executeQuery() ;
<center>
<table border="1" width="80%">
<td>雇员编号</td>
<td>雇员姓名</td>
<td>雇员工作</td>
<td>雇员工资</td>
<td>雇员佣金</td>
<td>雇佣日期</td>
while(rs.next()){
int empno = rs.getInt(1) ;
String ename = rs.getString(2) ;
String job = rs.getString(3) ;
float sal = rs.getFloat(4) ;
float comm = rs.getFloat(5) ;
java.util.Date date = rs.getDate(6) ;
<td><%=empno%></td>
<td><%=ename%></td>
<td><%=job%></td>
<td><%=sal%></td>
<td><%=comm%></td>
<td><%=date%></td>
</table>
</center>
}catch(Exception e){
// 向tomcat中进行打印
System.out.println(e) ;
}finally{
rs.close() ;
pstmt.close() ;
conn.close() ;
}
<b>注意:</b><b></b>
对于服务器而言,只要是放进了新的包,则服务器必须重新启动,因为重新启动之后会自动把所有的包都加载进来。
本文转自 李兴华 51CTO博客,原文链接:http://blog.51cto.com/lixinghua/101380,如需转载请自行联系原作者