主要代码
1主函数
登陆的代码:
import javax.servlet.http.*;
import java.io.*;
public class loginC extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try {
String u=req.getParameter("xx");
String p=req.getParameter("yy");
if(u.equals("hou")&&p.equals("123")){
res.sendRedirect("wel");
}
else res.sendRedirect("t2.html");
} catch (Exception e) {
e.printStackTrace();
}
}
}
欢迎界面的代码:
import javax.servlet.http.*;
import java.beans.Statement;
import java.io.*;
import java.sql.ResultSet;
public class wel extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res){
try {
res.setContentType("text/html;charset=gbk");//解决乱码
PrintWriter out = res.getWriter();
res.sendRedirect("wel.html");
} catch (Exception e) {
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res){
}
}
2连接数据库库语句
import java.sql.Connection;
import java.sql.DriverManager;
public class operatedb1
{
public static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //连接数据库的驱动名
protected static String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=student";//数据库映射路径
protected static String dbuser = "sa"; //数据库的登录名
protected static String dbPwd = "123"; //数据库的登录密码
static int flag=0;
static Connection dbConn;
public operatedb1(String userName,String userPwd)
{
try{
// Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
flag=1;
}catch (Exception e) {
System.out.println("connection error!");
e.printStackTrace();
}
}
}
3程序运行的语句
查看函数代码
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class chakan extends HttpServlet{
public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException
{
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
rp.setContentType("text/html;charset=gbk");
PrintWriter out=rp.getWriter();
String nm=new String(rq.getParameter("xx1").getBytes("iso-8859-1"));
try{
if(operatedb1.flag==0)
{ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库
// out.println("flag==0");
}
if(operatedb1.flag==1){
// out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
Statement stmt=operatedb1.dbConn.createStatement();//
String s1="select * from st1 where name='";
String s=s1+nm+"'";
ResultSet rset=stmt.executeQuery(s);
while(rset.next()){
out.println("OK");
out.println("
");
out.println("学号:"+rset.getString(1)+"/n"+"姓名:"+rset.getString(2)+" "+"性别:"+rset.getString(3)+" "+"生日:"+rset.getString(4)+"
"+"系别:"+rset.getString(5)+"");
}
}
}
catch(Exception e){out.println(e);}
out.println("Thank you ");
}
}
添加函数代码
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class addwebs1 extends HttpServlet{
public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException
{
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
Connection dbConn;
rp.setContentType("text/html;charset=gbk");
PrintWriter out=rp.getWriter();
//获取表单这的数据
String no=new String(rq.getParameter("no").getBytes("iso-8859-1"));
String nm=new String(rq.getParameter("nm").getBytes("iso-8859-1"));
String sx=new String(rq.getParameter("sx").getBytes("iso-8859-1"));
String br=new String(rq.getParameter("br").getBytes("iso-8859-1"));
String sp=new String(rq.getParameter("sp").getBytes("iso-8859-1"));
try{
if(operatedb1.flag==0)
{ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库
// out.println("flag==0");
}
if(operatedb1.flag==1){
out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
Statement stmt=operatedb1.dbConn.createStatement();
String s1="insert into st1 values('";
s1=s1+no+"','"+nm+"','"+sx+"','"+br+"','"+sp+"')";
out.println(s1);
stmt.executeUpdate(s1);
}
}catch(Exception e){}
out.println("Thank you ");
}
}
修改函数代码
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class xiugai extends HttpServlet{
public void doGet(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException
{
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
Connection dbConn;
rp.setContentType("text/html;charset=gbk");
PrintWriter out=rp.getWriter();
//获取表单这的数据
String no=new String(rq.getParameter("no").getBytes("iso-8859-1"));
String nm=new String(rq.getParameter("nm").getBytes("iso-8859-1"));
String sx=new String(rq.getParameter("sx").getBytes("iso-8859-1"));
String br=new String(rq.getParameter("br").getBytes("iso-8859-1"));
String sp=new String(rq.getParameter("sp").getBytes("iso-8859-1"));
try{
if(operatedb1.flag==0)
{ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库
out.println("flag==0");
}
if(operatedb1.flag==1){
out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
Statement stmt=operatedb1.dbConn.createStatement();
String updata1Str="UPDATE st1 SET num='"+no+"'WHERE num='"+no+"'";
String updata2Str="UPDATE st1 SET name='"+nm+"'WHERE num='"+no+"'";
String updata3Str="UPDATE st1 SET sex='"+sx+"'WHERE num='"+no+"'";
String updata4Str="UPDATE st1 SET birth='"+br+"'WHERE num='"+no+"'";
String updata5Str="UPDATE st1 SET speciality='"+sp+"'WHERE num='"+no+"'";
stmt.executeUpdate(updata1Str);
stmt.executeUpdate(updata2Str);
stmt.executeUpdate(updata3Str);
stmt.executeUpdate(updata4Str);
stmt.executeUpdate(updata5Str);
out.println("
学号为:"+no+"的记录:"+" "+"姓名修改为:"+nm+" "+"性别修改为:"+sx+" "+"生日修改为:"+br+"
"+" "+"系别修改为:"+sp);
}
}catch(Exception e){}
out.println("祝贺您修改成功!!! ");
// out.println("Thank you ");
}
}
删除函数代码
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class shanchu extends HttpServlet
{
public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException
{
String userName="sa";
String userPwd="123";
rp.setContentType("text/html;charset=gbk");
PrintWriter out=rp.getWriter();
String nm=new String(rq.getParameter("xx1").getBytes("iso-8859-1"));
try{
if(operatedb1.flag==0)
{ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库
// out.println("flag==0");
}
if(operatedb1.flag==1){
// out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
Statement stmt=operatedb1.dbConn.createStatement();
String s1="delete from st1 where name='";
String s=s1+nm+"'";
stmt.execute(s);
out.println("
姓名为:"+nm+" 的该记录已删除!
");
}
}catch(Exception e){out.println(e);}
out.println("Thank you ");
}
}
4html语句
Web的设置:
登陆的html
欢迎的html
各个表单的写
查看的html
添加的html
修改的html
删除的html
4连接数据库
JDBC连接SQL Server 2005
Java编程中使用JDBC连接数据库的方法有多种,但本文只介绍使用本地协议驱动连接SQL Server 2005的方法,像使用JDBC-ODBC桥连接等方法就不再介绍,有兴趣的同学可以在网上查找相关资料。
本文不采用JDBC-ODBC桥连接主要是因该方法需先调用ODBC然后由ODBC调用数据库接口访问数据库,执行效率较低,不适合存取数据量大的应用。而且该方法需要客户端的ODBC驱动的支持,不适合寄语Internet的应用。另外企业中几乎没有采用该方法连接数据库的。而对于本地协议驱动,完全由Java实现,可以直接和数据库服务器通讯,一次执行效率非常高,但是对于不同的数据库需要下载不同的驱动程序,例如SQL Server 2005需要下载其对应的JDBC,下载地址:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
下面进入正题:
(1)准备好JDBC
将其解压到任意位置,如E:Microsoft SQL Server 2005 JDBC Driversqljdbc.jar。
(2)设置SQLEXPRESS服务器:
a.打开: 开始菜单-> 所有程序-> Microsoft SQL Server 2005-> 配置工具-> SQL Server Configuration Manager,在SQL Server 2005网络配置下找到“SQLEXPRESS的协议”选项
b.右键启动其下的TCP/IP协议
c.双击TCP/IP协议打开属性,把IP地址中的IP ALL中的TCP端口设置为1433
(暂时不要关闭SQL Server Configuration Manager窗口)
(3)设置SQL Server 2005数据库sa身份登录
a.运行SQL Server2005,在安全性下的登录名中找到sa用户,右键属性
b.设置sa用户密码,如123456。在状态选项中将登陆设为启用。
c.在SQL Server Configuration Manager窗口中重新启动SQL Server 2005服务的SQLEXPRESS服务器
(4)使用Eclipse创建工程
A.将解压后的sqljdbc4.jar 复制到java-jre6-lib-ext文件中
B.然后为sqljdbc.jar配置环境
例如将E:Microsoft SQL Server 2005 JDBC Driversqljdbc.jar;放到classpath中,重新打开eclipse即可(数据库必须用sa和window一起打开的)
(5)编写代码测试连接数据库
import java.sql.*;
publicclass Testjdbc {
publicstaticvoid main(String[] srg) {
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //JDBC驱动程序
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseNume=student"; //指定服务器中的数据库student
String userName = "sa"; //默认用户名
String userPwd = "123"; //密码
Connection dbConn;
try {
Class.forName(driverName);//加载JDBC驱动程序
dbConn = DriverManager.getConnection(dbURL, userName, userPwd); //连接指定服务器中的数据库student
System.out.println("Connection Successful!"); //如果连接成功 控制台输出Connection Successful!
/*Statement stmt=dbConn.createStatement();
String s1="select * from st1";
ResultSet rset=stmt.executeQuery(s1);
while(rset.next()){
System.out.println(rset.getString(1)+" "+rset.getString(2)+" "+rset.getString(3));//输出结果集中本行的前三列的值
}
rset.close();
dbConn.close(); */
} catch (Exception e) {
e.printStackTrace();
}
}
}