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:\Workspace\WEB-INF\web.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.57\lib ,然后重启服务器
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>
JSP基本语法--Page指令 <%@page 属性=”内容“%>的更多相关文章
- page指令import属性实例
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- JSP基本语法--包含指令<%@include file="路径"%> <jsp:include page>
包含指令,真正改变的地方只有具体内容处: 方法1: 在每个jsp页面(HTML)都包含工具栏,头部信息,尾部信息,具体内容 方法2: 将工具栏,头部信息,尾部信息都分成各个独立的文件,使用的时候直接导 ...
- 【转】asp.net中@page指令的属性Inherits、Src、CodeBehind区别
Inherits.Src.CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. 通常一个 @page 指令 ...
- Jsp的语法和指令
Jsp的三种注释 前端语言注释:<!-- --> 会被转译,也会被发送,但是不会被浏览器执行 java语言注释: 会被转译,但是不会被servlet执行 Jsp注释:<%-- -- ...
- JAVA jsp page指令的属性 errorPage 和isErrorPage
>errorPage指定当前页面出现错误的实际响应页面是什么, 其中“/” 表示的是当前WEB应用的根目录 <% page errorPage="/error.jsp" ...
- asp.net中@page 指令的属性Inherits、Src、CodeBehind区别
在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中. <%@ Page language="c#" C ...
- JSP的学习(3)——语法知识二之page指令
本篇接上一篇<JSP的学习(2)——语法知识一>,继续来学习JSP的语法.本文主要从JSP指令中的page指令,对其各个属性进行详细的学习: JSP指令: JSP指令是为JSP引擎而设计的 ...
- Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式
JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的. 但基本上每个JSP都是使用page指令============ ...
- jsp中page指令用法详解
转自:https://www.jb51.net/article/73428.htm 一.JSP 指令 JSP 指令(directive)影响由 JSP 页面生成的 servlet 的整体结构.下面的模 ...
随机推荐
- MVC模式学习笔记
一.如何设计一个程序的结构,这是一门专门的学问,叫做“架构模式”(architectural pattern),属于编程的方法论. MVC模式就是架构模式的一种,我觉得它不仅适用于开发软件,也适用于其 ...
- 淘淘商城_day01_课堂笔记
今日大纲 聊聊电商行业 电商行业发展 11.11 2015双11: 2016年: 预测:2017年的双11交易额将达到:1400亿 电商行业技术特点 淘淘商城简介 淘淘商城的前身 电商行业的概念 B2 ...
- 一个简单的jQuery插件开发实例
两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...
- spring-security 配置文件
转自:spring-security学习笔记--配置文件 <?xml version="1.0" encoding="UTF-8"?> <be ...
- ajax不进success,
$.ajax({ url:"/order/pay_order_wx?order_id="+order_id, type:'GET', data:"{}", da ...
- 回车事件jquery
有时候,操作按钮需要回车键 直接上代码: //回车事件document.onkeydown = function (e) { var ev = document.all ? window.event ...
- UI线程
Application.Current.Dispatcher.Invoke(new Action(() =>))
- G - Zombie’s Treasure Chest(动态规划专项)
G - Zombie’s Treasure Chest Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d &am ...
- 1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。
package d0923; public class TestException { public static void main(String[] args) { for(int i=0;i&l ...
- 8.17HTML 标签
1.HTML body属性: bgbgcolor 页面背景色 text 文字颜色 topmargin 上页面边距 leftmargin 左 rig ...