3.3page指令

       page 指令主要的作用是用来设置一个 JSP 页面的属性。那么主要的属性包含以下几个:
              · contentType 属性
              · import 属性

3.3.1contentType属性

       设置 MIME 类型的属性,例如,现在一个 JSP 页面中包含了中文:
<h1> 中国啊,奥运会! </h1><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       因为在浏览器中默认的编码是西欧风格的编码,所以根本无法正确的显示出中文,所以此页面在运行的时候最好直接指定好其操作编码。
       · <%@page contentType="MIME 类型 "%>
<%@page contentType="text/html;charset=GBK"%>

<h1> 中国啊,奥运会! </h1>

注意:

       如果此时 MIME 类型设置错误,则会出现下载框提示:
<%@page contentType="test/html;charset=GBK"%>

<h1> 中国啊,奥运会! </h1>

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
网页制作的时候说过静态页面的后缀可以是 *.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 类型即可, WORD MIME 类型为:
    <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() ;

%>

<%

}

%>

注意:

       对于服务器而言,只要是放进了新的包,则服务器必须重新启动,因为重新启动之后会自动把所有的包都加载进来。