4.JavaWeb基础 page指令和Tomcat连接数据库

来源:互联网 发布:python双击闪退 编辑:程序博客网 时间:2024/06/07 07:54





一.page指令


   page指令在JSP开发中较为重要,使用此属性,可以定义一个JSP页面的相关属性,包

括设置MIME类型、定义需要导入的包、错误页的指定等等。


page指令中较为常用的4个属性:

    1.contentType

    2.pageEncoding

    3.errorPage/isErrorPage

    4.import(只有包含import属性的page指令可以重复出现多次)


page指令的语法 : 


<%@page 属性="内容" %>



二.page指令中的MIME类型设置(contentType)


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


contentType可以设置MIME类型,如果将text/html 误写成test/html 时则会出现一个

下载提示框,下载的是这个页面的JSP文件。


可以进入到  Tomcat目录/conf/web.xml中查询到所有已知的MIME类型并且修改。


eg :添加一个word文档的形式显示 。


<mime-mapping>        <extension>doc</extension>        <mime-type>application/msword</mime-type></mime-mapping>


在JSP页面的page指令的contentType="application/msword;charset=GBK" 即可。







三.设置文件编码(pageEncoding)



在page指令中也可以使用pageEncoding进行编码的指定。


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




pageEncoding和contentType中的charset的区别 : 



注意:pageEncoding指的是JSP文件本身的编码,contentType中的charset指的是服务器发送

给客户端的内容编码。



对于JSP文件本身的编码先由pageEncoding决定的,如果没有则由contentType中的charset决

定。再者都没有,则使用ISO-8859-1的编码方式。


JSP页面照片那个都要经过两次的编码操作:第一阶段使用pageEncoding编码,第二阶段使用 utf-8

编码,第三阶段就是Tomcat生成的网页,此时使用的才是contentType中的charset进行编码。






四.错误页的设置


showError.jsp : 


<%@ page contentType="text/html" pageEncoding="UTF-8"%> <!-- 出错则跳转到error.jsp --><%@ page errorPage="error.jsp"%><%int result = 10 / 0 ;%><h2> showError.jsp</h2>




error.jsp : 


<%@ page contentType="text/html" pageEncoding="UTF-8"%> <!-- 此页面可以处理错误 --><%@ page isErrorPage="true"%><h2> error.jsp</h2>



但是地址还是xxx/xxx/showError.jsp ,所以错误跳转是服务器跳转。









五.Tomcat与数据库的连接


先把mysql的驱动jar包复制到Tomcat/lib目录下 :






然后重启Tomcat即可。



<%@ page contentType="text/html" pageEncoding="UTF-8"%><%@ page import="java.io.*"%><%@ page import="java.sql.*"%><%!    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;    public static final String DBURL = "jdbc:mysql://localhost:3306/ceshi_1" ;    public static final String DBUSER = "root" ;    public static final String DBPASS = "root" ;%><%    Connection conn = null ;    PreparedStatement ps = null ;    ResultSet rs = null ;%><%try{        Class.forName(DBDRIVER) ;    conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;    String sql = "select * from member" ;    ps = conn.prepareStatement(sql) ;    rs = ps.executeQuery() ;        while(rs.next()){            out.print(rs.getString(1)+"\t") ;       out.print(rs.getString(2)+"\t") ;       out.print(rs.getString(3)+"\t") ;       out.print(rs.getString(4)+"\t") ;       out.println(rs.getString(5)) ;    }}catch(Exception e){        out.println(e) ;}finally{        conn.close() ;    }    %>












0 0
原创粉丝点击