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,如需轉載請自行聯系原作者