简述JSP的基本工作过程? 5
2个回答
展开全部
首先jsp就是把java语句写进html页面,从而能够利用jdbc把java语句作用于数据库(当然还有
odbc,这里不推荐使用)
第一步建立数据库连接类,以sql2005为例,群共享里放的是sql2005的架包,要jdbc.jar放在web
工程的web-inf的lib目录下,代码如下:
//导入所需包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private static final String
DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库驱动
private static final String
URL="jdbc:sqlserver://localhost:1433;DATABASENAME=human";数据库URL,端口调成了1433,数
据库为human
private static final String UNAME="sa";数据库登录名
private static final String UPASSWORD="sa";//登录密码
/*
* 连接数据库
*/
public Connection getConnection(){
Connection conn=null;//声明conn用来连接数据库
try {
Class.forName(DRIVER_CLASS);//加载驱动
conn=DriverManager.getConnection(URL,UNAME,UPASSWORD);//获得连
接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/*
* 关闭conn,ps,rs,释放资源
*/
public void closeAll( Connection conn, PreparedStatement ps, ResultSet rs )
{
/* 如果rs不空,关闭rs */
if(rs != null){
try { rs.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果pstmt不空,关闭pstmt */
if(ps!= null){
try { ps.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果conn不空,关闭conn */
if(conn != null){
try { conn.close();} catch (SQLException e) {e.printStackTrace
();}
}
}
记得测试看看打印的是不是字符串,否则就失败
PreparedStatement 对象是预编译(不建议使用Statement)
ResultSet对象是结果集
Connection对像是数据库连接
详细作用密我聊,这里不多说
// public static void main (String[] args){
//
// BaseDao bo= new BaseDao();
// Connection conn=null;
// conn=bo.getConnection();
// System.out.print(conn);
//
// }
}
OK,已经有了数据库连接了以及释放资源方法,那么下面就讲解怎么使用:
假设建有TeacherDao和StudentDao类,我们以TeacherDao类为例;如下:
public Class TeacherDao extends BaseDao{ //看过我写得面向对象的还记得继承吗?
//声明从数据库中取TEACHER表中所有数据的方法,其中会用到List、及ArrayList对象,有空讲解
public List getAllList(){
Connection conn=null;
ResultSet rs=null;
PreparedStatement ps=null;
List list =new ArrayList();
Teacher teacher=new Teacher();
try {
conn = super.getConnection();
String sqlStr = "selete * from TEACHER";
ps = conn.prepareStatement(sqlStr);//对要执行得语句进行预编译
rs=ps.executeQuery();//获得结果
while(rs.next()){
String name=rs.getString("name");
int age =rs.getInt("age");
teacher.setName(name);
teacher.setAge(age);
list.add(teacher);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;//返回一个list对象,包含所有teacher对像
}
}
好了,现在我们只需要在html里嵌入java语句就可以便利数据库中得数据了,现在先不考虑框架,也不
考虑其他功能,只须知道基本流程即可,加入由一个html页面,打开写入以下代码
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="我们需要导入的包" %>
<html>
<head>
<title>先说好啊,这实在写着太麻烦了,谁要想学我语音讲给你,很少注释</title>
</head>
<body>
//首先java代码要写在<% %>标签里,如下:
<%
//声明TeacherDao对象
TeacherDao td=new TeacherDao();//声明teacher对象
Teacher teacher=new Teacher();
//声明List对象
List list=new ArrayList();
注意以下代码
list=td.getAllList();
for(int i=0;i<list.sze();i++){//循环遍历这个集合
teacher=(Teacher)list.get(i);//强制类型转换
%>//先结束
//在jsp中循环html标签
<table>
<tr><td>姓名</td><td>年龄</td></tr>
//把字段写进表达式里,<%=属性%>
<tr><td><%=teacher.getName()%></td><td><%=teacher.getAge()%></td></tr>
</table>
<%//再开始
}
%>
</body>
</html>
好了,最后作一下说明,这里为最为简单但包含基本流程的步骤,至于数据库得高深理论大家有兴趣可
以等我之后写出来,另外,打字很无聊啊……视频授课算了
odbc,这里不推荐使用)
第一步建立数据库连接类,以sql2005为例,群共享里放的是sql2005的架包,要jdbc.jar放在web
工程的web-inf的lib目录下,代码如下:
//导入所需包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private static final String
DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库驱动
private static final String
URL="jdbc:sqlserver://localhost:1433;DATABASENAME=human";数据库URL,端口调成了1433,数
据库为human
private static final String UNAME="sa";数据库登录名
private static final String UPASSWORD="sa";//登录密码
/*
* 连接数据库
*/
public Connection getConnection(){
Connection conn=null;//声明conn用来连接数据库
try {
Class.forName(DRIVER_CLASS);//加载驱动
conn=DriverManager.getConnection(URL,UNAME,UPASSWORD);//获得连
接
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/*
* 关闭conn,ps,rs,释放资源
*/
public void closeAll( Connection conn, PreparedStatement ps, ResultSet rs )
{
/* 如果rs不空,关闭rs */
if(rs != null){
try { rs.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果pstmt不空,关闭pstmt */
if(ps!= null){
try { ps.close();} catch (SQLException e) {e.printStackTrace();}
}
/* 如果conn不空,关闭conn */
if(conn != null){
try { conn.close();} catch (SQLException e) {e.printStackTrace
();}
}
}
记得测试看看打印的是不是字符串,否则就失败
PreparedStatement 对象是预编译(不建议使用Statement)
ResultSet对象是结果集
Connection对像是数据库连接
详细作用密我聊,这里不多说
// public static void main (String[] args){
//
// BaseDao bo= new BaseDao();
// Connection conn=null;
// conn=bo.getConnection();
// System.out.print(conn);
//
// }
}
OK,已经有了数据库连接了以及释放资源方法,那么下面就讲解怎么使用:
假设建有TeacherDao和StudentDao类,我们以TeacherDao类为例;如下:
public Class TeacherDao extends BaseDao{ //看过我写得面向对象的还记得继承吗?
//声明从数据库中取TEACHER表中所有数据的方法,其中会用到List、及ArrayList对象,有空讲解
public List getAllList(){
Connection conn=null;
ResultSet rs=null;
PreparedStatement ps=null;
List list =new ArrayList();
Teacher teacher=new Teacher();
try {
conn = super.getConnection();
String sqlStr = "selete * from TEACHER";
ps = conn.prepareStatement(sqlStr);//对要执行得语句进行预编译
rs=ps.executeQuery();//获得结果
while(rs.next()){
String name=rs.getString("name");
int age =rs.getInt("age");
teacher.setName(name);
teacher.setAge(age);
list.add(teacher);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;//返回一个list对象,包含所有teacher对像
}
}
好了,现在我们只需要在html里嵌入java语句就可以便利数据库中得数据了,现在先不考虑框架,也不
考虑其他功能,只须知道基本流程即可,加入由一个html页面,打开写入以下代码
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="我们需要导入的包" %>
<html>
<head>
<title>先说好啊,这实在写着太麻烦了,谁要想学我语音讲给你,很少注释</title>
</head>
<body>
//首先java代码要写在<% %>标签里,如下:
<%
//声明TeacherDao对象
TeacherDao td=new TeacherDao();//声明teacher对象
Teacher teacher=new Teacher();
//声明List对象
List list=new ArrayList();
注意以下代码
list=td.getAllList();
for(int i=0;i<list.sze();i++){//循环遍历这个集合
teacher=(Teacher)list.get(i);//强制类型转换
%>//先结束
//在jsp中循环html标签
<table>
<tr><td>姓名</td><td>年龄</td></tr>
//把字段写进表达式里,<%=属性%>
<tr><td><%=teacher.getName()%></td><td><%=teacher.getAge()%></td></tr>
</table>
<%//再开始
}
%>
</body>
</html>
好了,最后作一下说明,这里为最为简单但包含基本流程的步骤,至于数据库得高深理论大家有兴趣可
以等我之后写出来,另外,打字很无聊啊……视频授课算了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询