您的位置:首页 > 运维架构 > Tomcat

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

2014-08-11 20:07 477 查看
一.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() ;

}

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: