servlet+jdbc+mysql简单web练习 一、servlet结构 1〉构造函数constructor 2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。 3〉doget();dopost();将数据库操作的sql语句封装到该函数。 4〉destory();将相关资源释放,如:关闭
servlet+jdbc+mysql简单web练习
一、servlet结构
1〉构造函数constructor
2〉init();初始化——〉将web.xml中有关sql的配置和相关连接语句封装到该函数中。
3〉doget();dopost();将数据库操作的sql语句封装到该函数。
4〉destory();将相关资源释放,如:关闭数据库语句封装到该函数中。
二、jdbc(oop)+mysql(db开发)
1〉驱动文件包(*.jar)
2〉connection与db建立连接.
3〉resultset(纪录结果集)
4〉get方法获取字段。
5〉释放资源。
三、从基本框架—-〉到流程思想。
实现一和二的资源整合。
四、步骤。
要求:已经在mysql中建立school数据库、studentinfo(id,name,age)。
1〉建立一个webproject(web应用名myweb)
2〉在webproject中建立一个package(名为web)
3〉在package中建立一个servlet(名为myservlet)
4〉完成一的转化(封装)
//初始化函数,连接数据库
public void init() throws servletexception {
string url=”jdbc:mysql://localhost:3306/school”;
string user=”root”;
string pwd=”root”;
try{
class.forname(“com.mysql.jdbc.driver”);
//加载驱动,这一句也可写为:class.forname(“com.mysql.jdbc.driver”).newinstance();
//建立到mysql的连接
conn = drivermanager.getconnection(url,user, pwd);
}catch(exception ex){
system.out.println(“error : ” + ex.tostring());
}
}
//定义成员变量
connection conn;
resultset rs;
//对数据库的操作
public void doget(httpservletrequest request, httpservletresponse response)
throws servletexception, ioexception {
//解决中文乱码问题
response.setcontenttype(“text/html;charset=utf-8”);//使浏览器默认编码为utf-8
//response.setcharacterencoding(“utf-8”);//也可解决中文乱码
printwriter out = response.getwriter();
out.println(“”);
out.println(““);
out.println(” a servlet“);
out.println(” “);
try{
//执行sql语句
statement stmt = conn.createstatement();//创建语句对象,用以执行sql语言
resultset rs = stmt.executequery(“select * from studentinfo”);
//处理结果集
out.println(“
“);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
while (rs.next()){
string id=rs.getstring(“id”);
string name=rs.getstring(“name”);
string age=rs.getstring(“age”);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
out.println(““);
}
out.print(““);out.println(“学生信息表”); out.println(“
“);out.println(“学号1”);out.println(“ “);out.println(“姓名”);out.println(“ “);out.println(“年龄”);out.println(“
“);out.println(id);out.println(“ “);out.print(name);out.println(“ “);out.println(age);out.println(“
“);
}catch(exception ex){
system.out.println(“error : ” + ex.tostring());
}
out.println(” “);
out.println(““);
out.flush();
out.close();
}//释放资源
public void destroy() {
super.destroy();
try{
rs.close();//关闭数据库
conn.close();
}catch(exception ex){
system.out.println(“error : ” + ex.tostring());
}
自动生成的包
package web;
修改后导入的包(编程时系统会自动导入包)
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
完整代码如下:
package web;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class myservlet extends httpservlet {
//定义成员变量connection conn;resultset rs;public myservlet() { super();}//初始化函数,连接数据库public void init() throws servletexception { string url=jdbc:mysql://localhost:3306/school; string user=root; string pwd=root; try{ class.forname(com.mysql.jdbc.driver); //加载驱动,这一句也可写为:class.forname(com.mysql.jdbc.driver).newinstance(); //建立到mysql的连接 conn = drivermanager.getconnection(url,user, pwd); }catch(exception ex){ system.out.println(error : + ex.tostring()); }}//对数据库的操作public void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { //解决中文乱码问题 response.setcontenttype(text/html;charset=utf-8);//使浏览器默认编码为utf-8 //response.setcharacterencoding(utf-8);//也可解决中文乱码 printwriter out = response.getwriter(); out.println(-//w3c//dtd html 4.01 transitional//en\>); out.println(); out.println( a servlet); out.println( ); try{ //执行sql语句 statement stmt = conn.createstatement();//创建语句对象,用以执行sql语言 resultset rs = stmt.executequery(select * from studentinfo); //处理结果集 out.println(); out.println(); out.println();out.println(学生信息表); out.println(); out.println(
); out.println(); out.println();out.println(学号1);out.println( ); out.println();out.println(姓名);out.println( ); out.println();out.println(年龄);out.println( ); out.println(
); while (rs.next()){ string id=rs.getstring(id); string name=rs.getstring(name); string age=rs.getstring(age); out.println(); out.println();out.println(id);out.println( ); out.println();out.print(name);out.println( ); out.println();out.println(age);out.println( ); out.println(
); } out.print(
); }catch(exception ex){ system.out.println(error : + ex.tostring()); } out.println( ); out.println(); out.flush(); out.close();}//释放资源public void destroy() { super.destroy(); try{ rs.close();//关闭数据库 conn.close(); }catch(exception ex){ system.out.println(error : + ex.tostring()); }}
}
6〉buildpach——〉addexternalarchives…
导入下载好的数据库连接包(mysql-connector-java.jar)
7〉保存后,将web应用发布到所配置好的tomcat上。
8〉启动tomcat。
9〉在浏览器url栏输入http://localhost:8080/web应用名/servlet/servlet名
如:http://localhost:8080/myweb/servlet/myservlet
10〉在浏览器上显示出:学生信息表。
11〉每次调试程序都要重启tomcat和重新发布到tomcat上。