jsp的构成
1、 jsp—java服务器端页面,页面文件的后缀名为.jsp
2、 jsp的基本构成
(1)在网页中嵌入java代码段
<%
Java代码段;
.....
%>
在<%和%>之间嵌入java代码段。 定义局部变量,编写代码
(2)jsp的页面指令page,主要用于设置页面的全局属性(要使用的语言、编码格式UTF-8、导入包import),在开发工具中,页面指令由开发工具自动生成。
页面指令的语法:
<%@ page 属性=”值” ......%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="utf-8" %>
页面指令:
1)contentType="text/html;charset=UTF-8"
:设置当前页面的内容类型为文本或者html,设置静态文本字符编码为UTF-8
2) language="java"
:设置当前页面的语言使用java语言
3) import="java.util.*"
:设置导入jdk的工具包
4) pageEncoding="utf-8"
:设置嵌入的java代码中的文本编码格式。
(3)使用jsp内置对象out输出变量或者表达式的值
out.println(变量或者常量以及表达式);
(4)使用表达式语句输出变量的值
<%=变量或者表达式%>
此语句必须独立输出!尽量多用表达式输出
(5)在jsp页面声明定义函数
<%!
public 返回类型 函数名(参数列表){
[return 返回值;]
}
%>
注意:在声明部分不能使用jsp内置对象
不建议在jsp页面编写函数和类!定义全局变量,方法,类等,但是一般都是通过JavaBean的形式调用类或者方法的,做到分离代码
(6)、在jsp页面引入自己定义的java类文件,需要使用import导入类包
<%@page import=”包名.类”%>
其实<% …%>;<%! …%>;<%=…%>都是一种脚本小程序(scriptlet)代码标记。
3.jsp的注释方法
(1.)显性注释:和html页面的注释方法一样 但是客户端他是可见的
<!-- 注释内容!-->
(2.)隐形注释
java注释法:
// :单行注释
/**注释!*/ :多行注释
jsp自带注释法:
<%--注释!--%>
实例:不管在那个代码里面,连接数据库都是一种比较重要的一块,用连接MySql数据库来做演示。驱动jar包要导入,可以找我要。
<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html"%>
<%@ page import="java.sql.*"%><!--导包-->
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>jsp数据库连接操作</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%--定义全局变量,数据库驱动,链接地址,用户名,密码 --%>
<%!
//定义数据库驱动程序
public static final String dbdriver = "org.gjt.mm.mysql.Driver";
public static final String dburl = "jdbc:mysql://localhost:3306/stu";
public static final String dbuser = "root";
public static final String dbpw = "lzyft1030";
%>
<%--定义局部变量 ,声明数据库连接对象,数据库操作,数据库结果集--%>
<%
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
%>
<%
try{
Class.forName(dbdriver);//加载数据库驱动
conn = DriverManager.getConnection(dburl,dbuser,dbpw);
String sql = "select * from student";
pst = conn.prepareStatement(sql); //实例化prepareStatement对象
rs = pst.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 sno = rs.getInt(1);
String sname = rs.getString(2);
String sex = rs.getString(3);
String address = rs.getString(4);
String birthday = rs.getString(5); //java.util.Date.date = rs.getDate(5);
int cid = rs.getInt(6);
%>
<tr>
<td><%=sno %></td>
<td><%=sname %></td>
<td><%=sex %></td>
<td><%=address %></td>
<td><%=birthday %></td>
<td><%=cid %></td>
</tr>
<%
}
%>
</table>
</center>
<%
} catch(Exception e){
System.out.println(e);
}finally{
rs.close();
pst.close();
conn.close();
}
%>
</body>
</html>