1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学习</title>
</head>
<body>
<%!
//jsp声明(加个!),可以 定义公用函数、全局变量、公用类
String showMsg(String name,int score){
return name+"你的成绩是:"+score;
}
%>
<br>
<%
out.print(showMsg("波波", 99));
%>
</body>
</html>
2.jsp访问数据库
访问数据库的操作叫做JDBC,它提供了java对数据库进行操作的API
JDBC相关API存放在java.sql包中,主要的类如下:
java.sql.Connection:负责连接数据库
java.sql.Statement:负责执行数据库SQL语句
java.sql.ResultSet:负责存放查询结果
下面是简单的一个向数据库中插入数据的程序。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>连接数据库</title>
</head>
<body>
<%
//指定是oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
//获取连接
Connection conn = DriverManager.getConnection(url,"web_shiyan","web_shiyan");
Statement stat = conn.createStatement();
String query = "insert into surname values('张')";
//执行sql语句,返回受这条sql语句影响的行数,即成功插入的行数
int i = stat.executeUpdate(query);
out.print("成功添加"+i+"行");
//最后要关闭数据库连接
stat.close();
conn.close();
%>
</body>
</html>
下面是一个从数据库中查询的程序
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>连接数据库</title>
</head>
<body>
<%
//指定是oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
//获取连接
Connection conn = DriverManager.getConnection(url,"web_shiyan","web_shiyan");
Statement stat = conn.createStatement();
String sql = "select * from topic";
//执行sql语句
ResultSet rs = stat.executeQuery(sql); //查询的结果保存在rs中
while(rs.next()){//遍历结果集
int tid = rs.getInt(1); //可以用列号获得
String tname = rs.getString("tname"); //也可以用列名获得数据
out.println(tid+" "+tname+"<br>");
}
//最后要关闭数据库连接
stat.close();
conn.close();
%>
</body>
</html>