zoukankan      html  css  js  c++  java
  • JSP基本语法--Page指令 <%@page 属性=”内容“%>

    page指令语法:<%@page 属性=”内容“%>

    常用:contentType,import,pageEncoding

    例子,设置MIME属性,如果使用一些高版本的tomcat,可能自动设置编码,但是为了保证程序不出问题,一定要设置MIME类型:

    <%@ page language="java" contentType="text/html;charset=GBK"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <center>
    <h2>欢迎大家光临 MLDN !</h2>
    <h3>网址:www.MLDNJAVA.cn</h3>
    </center>
    </body>
    </html>

     

    为什么htm和html都可以识别,是因为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>
    • 如果想让jsp变种格式显示, 就更改MIME就可以,比如word:

    <%@ page language="java" contentType="application/msword;charset=GBK"%>

    • 如果想改名字的话,这样的话,打开jsp文件就会显示下载mldn.doc:

    <%
    response.setHeader("Content-Disposition","attachement;filename=mldn.doc") ;
    %>

    • contentType主要功能就是设置MIME,之后的charset是指定编码,也可以通过pageEncoding来指定编码,比较常见:

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

    两种方式的区别:如果pageEncoding存在的话,就以它为主,如果不存在,再找charset,如果都不存在,就默认ISO8859-1.

    如果一个jsp文件只是需要按照text/html风格显示的话,则只需要指定一个pageEncoding就可以了。

    • 错误页的设置

    一些网站,如果出现错误,会统一跳转到一个页面上显示,而且会提示,对不起,请联系管理员,这就是错误页的功能。

    完成错误页的操作,需要满足2个条件:

    1. 指定错误出现的跳转页,通过errorPage属性指定

    2. 错误处理也必须有明确的标识,通过isErrorPage属性指定

    <%@ page language="java" contentType="text/html" pageEncoding="GBK"%> 
    <%@ page errorPage="error.jsp"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <%
    int result = 10 / 0 ;
    %>
    </body>
    </html>

     

    error.jsp:

    语句response.setStatus(200) ;是为了声明此文件是正常的可以处理错误的页面,避免有些时候无法跳转的情况

    <%@ page language="java" contentType="text/html" pageEncoding="GBK"%> 
    <%@ page isErrorPage="true"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <%
    response.setStatus(200) ;
    %>
    <h1>程序出现了错误</h1>
    </body>
    </html>

    以上发现,地址栏地址没有发生改变,但是内容改变了,此种方式成为服务器端跳转。

    但是,这样编写太麻烦,最经常出现的问题:404,500,而且程序也可以出现异常,此时可以集中处理这些问题,这样就需要修改web.xml文件了。D:WorkspaceWEB-INFweb.xml, 在 </web-app> 之前加入:

    <error-page>
    <error-code>500</error-code>
    <location>/basic_page/error.jsp</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/basic_page/error.jsp</location>
    </error-page>
    <error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/basic_page/error.jsp</location>
    </error-page>

    重启服务器后,输入http://localhost:8080/wly/basic_page/ss验证,即可弹出error.jsp错误页面

    • page指令存在import属性,所以导包就可以正确使用,在整个page指令的属性中,只有import可以多次使用,其他的属性只能设置一次

    数据库的连接操作:

    /*======================= 删除数据库 =======================*/
    DROP DATABASE IF EXISTS mldn ;
    /*======================= 创建数据库 =======================*/
    CREATE DATABASE mldn ;
    /*======================= 使用数据库 =======================*/
    USE mldn ;
    /*======================= 删除数据表 =======================*/
    DROP TABLE IF EXISTS emp ;
    /*======================= 创建数据表 =======================*/
    CREATE TABLE emp(
    empno    INT(4)    PRIMARY KEY,
    ename    VARCHAR(10),
    job    VARCHAR(9),
    hiredate    DATE,
    sal    FLOAT(7,2)
    ) ;
    /*======================= 插入测试数据 =======================*/
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (6060,'李兴华','经理','2001-09-16',2000.30) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7369,'董鸣楠','销售','2003-10-09',1500.90) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (8964,'李祺','分析员','2003-10-01',3000) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7698,'张惠','销售','2005-03-12',800) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7782,'杨军','分析员','2005-01-12',2500) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7762,'刘明','销售','2005-03-09',1000) ;
    INSERT INTO emp (empno,ename,job,hiredate,sal) VALUES (7839,'王月','经理','2006-09-01',2500) ;

    需要注意的是,mysql数据库连接的时候需要额外的驱动程序mysql-connector-java-5.1.36-bin.jar  

    放入:D:apache-tomcat-7.0.57lib ,然后重启服务器

    lit.jsp:

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <%@ page import="java.sql.*"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <%!
      public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
      public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
      public static final String DBUSER = "root" ;
      public static final String DBPASS = "********" ;
    %>
    <%
      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,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>
      </tr>
    <%
      while(rs.next()){
        int empno = rs.getInt(1) ;
        String ename = rs.getString(2) ;
        String job = rs.getString(3) ;
        float sal = rs.getFloat(4) ;
        java.util.Date date = rs.getDate(5) ;
    %>
      <tr>
        <td><%=empno%></td>
        <td><%=ename%></td>
        <td><%=job%></td>
        <td><%=sal%></td>
        <td><%=date%></td>
      </tr>    
    <%
      }
    %>
    </table>
    </center>
    <%
      }catch(Exception e)    {
        System.out.println(e) ;
      }finally{
        rs.close() ;
        pstmt.close() ;
        conn.close() ;    // 如果直接关闭连接也可以
      }
    %>
    </body>
    </html>
  • 相关阅读:
    Druid 使用 Kafka 将数据载入到 Kafka
    Druid 使用 Kafka 数据加载教程——下载和启动 Kafka
    Druid 集群方式部署 —— 启动服务
    Druid 集群方式部署 —— 端口调整
    Druid 集群方式部署 —— 配置调整
    Druid 集群方式部署 —— 配置 Zookeeper 连接
    Druid 集群方式部署 —— 元数据和深度存储
    Druid 集群方式部署 —— 从独立服务器部署上合并到集群的硬件配置
    Druid 集群方式部署 —— 选择硬件
    Druid 独立服务器方式部署文档
  • 原文地址:https://www.cnblogs.com/wujixing/p/4942919.html
Copyright © 2011-2022 走看看