JSP中的page指令

3.3page指令

       page指令主要的作用是用來設置一個JSP頁面的屬性。那麼主要的屬性包含以下幾個:
              · contentType屬性
              · import屬性

3.3.1contentType屬性

       設置MIME類型的屬性,例如,現在一個JSP頁面中包含了中文:
<h1>中國啊,奧運會!</h1>

       因爲在瀏覽器中默認的編碼是西歐風格的編碼,所以根本無法正確的顯示出中文,所以此頁面在運行的時候最好直接指定好其操作編碼。
       ·<%@page contentType="MIME類型"%>
<%@page contentType="text/html;charset=GBK"%>

<h1>中國啊,奧運會!</h1>

注意:

       如果此時MIME類型設置錯誤,則會出現下載框提示:
<%@page contentType="test/html;charset=GBK"%>

<h1>中國啊,奧運會!</h1>

網頁製作的時候說過靜態頁面的後綴可以是*.htm*.html,兩者可以通用就是因爲兩者的MIME類型的解析方式完全一樣。Tomcathome/conf/web.xml
    <mime-mapping>

        <extension>htm</extension>

        <mime-type>text/html</mime-type>

    </mime-mapping>

    <mime-mapping>

        <extension>html</extension>

        <mime-type>text/html</mime-type>

    </mime-mapping>

       那麼也就可以直接利用MIME類型將一個頁面轉成Word進行輸出,只需要設置好相應的MIME類型即可,WORDMIME類型爲:
    <mime-mapping>

        <extension>doc</extension>

        <mime-type>application/msword</mime-type>

    </mime-mapping>

例如:將一個頁面保存成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>

頁面運行之後出現了以下的提示框:

3.3.3import屬性

       在整個page中有很多的屬性,但是所有的屬性只允許出現一次,惟獨只有import屬性可以重複出現多次。
例如:以下程序導入多個包
<%@ 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目錄下。

PageDemo05.jsp

<%@ page contentType="text/html;charset=GBK"%>

<%@ 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%">

                   <tr>

                            <td>僱員編號</td>

                            <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) ;

                   float comm = rs.getFloat(5) ;

                   java.util.Date date = rs.getDate(6) ;

%>

                   <tr>

                            <td><%=empno%></td>

                            <td><%=ename%></td>

                            <td><%=job%></td>

                            <td><%=sal%></td>

                            <td><%=comm%></td>

                            <td><%=date%></td>

                   </tr>

<%

         }

%>

         </table>

</center>

<%

}catch(Exception e){

         // tomcat中進行打印

         System.out.println(e) ;

}finally{

%>

<%

         rs.close() ;

         pstmt.close() ;

         conn.close() ;

%>

<%

}

%>

注意:

       對於服務器而言,只要是放進了新的包,則服務器必須重新啓動,因爲重新啓動之後會自動把所有的包都加載進來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章