JavaWeb修改数学成绩.docx
《JavaWeb修改数学成绩.docx》由会员分享,可在线阅读,更多相关《JavaWeb修改数学成绩.docx(20页珍藏版)》请在冰豆网上搜索。
JavaWeb修改数学成绩
1.AccessDB.java(数据库操作)
packagecom.homework;
//这是一个专门负责连接数据库以及数据库操作的类;
importjava.sql.*;
importjava.util.Properties;
importjava.util.Vector;
importjavax.naming.*;
importjavax.sql.DataSource;;
publicclassAccessDB{
intid;
Vectorvc;
//构造函数的作用是完成Vector的初始化
publicAccessDB()
{
vc=newVector();
}
publicAccessDB(inti){
id=i;
vc=newVector();
}
/**
*LoginDB(intid,intpass)这个函数是用来验证输入的用户名以及密码能够在数据库中找到匹配的
**/
publicStringLoginDB(intid,intpass){
intresul=0;
finalStringJNDI_DATABASE_NAME="AA";
Propertiesh=newProperties();
h.put(InitialContext.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
StringhostURL="t3:
//localhost:
7001";
h.put(InitialContext.PROVIDER_URL,hostURL);
try
{
Contextic=newInitialContext(h);
DataSourceds=(DataSource)ic.lookup(JNDI_DATABASE_NAME);
System.out.println("connectok!
");
Connectionconn=ds.getConnection();
//sql语句
Stringsql_string="select*fromuserwhere帐号=?
";
PreparedStatementstmt=conn.prepareStatement(sql_string);
stmt.setInt(1,id);
ResultSetrs=stmt.executeQuery();
while(rs.next()){
resul=rs.getInt("密码");
}
}catch(Exceptione){e.printStackTrace();}
if(resul==pass)
return"Yes";//登陆成功返回Yes
else
return"No";//登陆失败返回No
}
/**
*selectDB()函数返回类型是Vector用来显示数据库中的信息,生成一个向量表
**/
publicVectorselectDB(){
finalStringJNDI_DATABASE_NAME="AA";
Propertiesh=newProperties();
StringhostURL="t3:
//localhost:
7001";
h.put(InitialContext.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory"
);
h.put(InitialContext.PROVIDER_URL,hostURL);
try{
Contextic=newInitialContext(h);
DataSourceds=(DataSource)ic.lookup(JNDI_DATABASE_NAME);
System.out.println("Connectok!
");
Connectionconn=ds.getConnection();
//sql语句
Stringsql_string="select*fromstdb";
PreparedStatementstmt=conn.prepareStatement(sql_string);
ResultSetrs=stmt.executeQuery();
while(rs.next()){
vc.add(newStuBean(rs.getInt("sno"),rs.getString("sname"),
rs.getInt("chinese"),rs.getInt("math")));
}
rs.close();
stmt.close();
conn.close();
returnvc;
}catch(Exceptione){e.printStackTrace();}
returnnull;
}
/**
*StuBeanselectDBByid()使用Bean限制选中的向量表中的值,根据此从数据库中查找学生的信息,然后对其数学分数进行
*修改
**/
publicStuBeanselectDBByid(){
finalStringJNDI_DATABASE_NAME="AA";
Propertiesh=newProperties();
h.put(InitialContext.INITIAL_CONTEXT_FACTORY
"weblogic.jndi.WLInitialContextFactory");
StringhostURL="t3:
//localhost:
7001";
h.put(InitialContext.PROVIDER_URL,hostURL);
StuBeanst=null;
try{
Contextic=newInitialContext(h);
DataSourceds=
(DataSource)ic.lookup(JNDI_DATABASE_NAME);
System.out.println("ConnectionOK!
!
");
Connectionconn=ds.getConnection();
//sql语句
Stringsql_string="select*fromstdbwheresno=?
";
PreparedStatementstmt=conn.prepareStatement(sql_string);
stmt.setInt(1,id);
ResultSetrs=stmt.executeQuery();
while(rs.next()){
st=newStuBean(rs.getInt("sno"),
rs.getString("sname"),rs.getInt("chinese"),rs.getInt("math"));
}
rs.close();
stmt.close();
conn.close();
returnst;
}catch(Exceptione){e.printStackTrace();}
returnnull;
}
/**
*StringupdateDB(inttest)函数负责把修改后的数学成绩写入数据库中
**/
publicStringupdateDB(inttest){
finalStringJNDI_DATABASE_NAME="AA";
Propertiesh=newProperties();
h.put(InitialContext.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
StringhostURL="t3:
//localhost:
7001";
h.put(InitialContext.PROVIDER_URL,hostURL);
StuBeanstb=selectDBByid();
if(stb.getMath()!
=test){
try{
Contextic=newInitialContext(h);
DataSourceds=
(DataSource)ic.lookup(JNDI_DATABASE_NAME);
System.out.println("connectok!
");
Connectionconn=ds.getConnection();
//sql语句
Stringsql_string="updatestdbsetmath=?
wheresno=?
";
PreparedStatementstmt=conn.prepareStatement(sql_string);
stmt.setInt(1,test);
stmt.setInt(2,id);
introw=stmt.executeUpdate();
if(row>0){
System.out.println("数学成绩修改完成");
stmt.close();
conn.close();
return"修改完成";
}else
{
stmt.close();
conn.close();
return"修改不完成";
}
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}else
{
return"成绩没有发生改变";
}
}
}
2.Login.java(登陆界面)
packagecom.homework;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
//这是一个登陆界面
publicclassLoginextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="text/html;charset=GBK";
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType(CONTENT_TYPE);
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
Login");
out.println("
");
out.println("
Welcometologin!");
out.println("
");//页面元素定义
out.println("");
out.println("
");
out.println("");
out.println("
");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("
");
out.println("");
out.println("");
out.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
3.TestSessionAttrBindingServlet.java(登陆成功界面)
packagecom.homework;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.Vector;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
/**
*通过验证后的,登陆成功界面
**/
publicclassTestSessionAttrBindingServletextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="text/html;charset=GBK";
publicvoidinit()throwsServletException{}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType(CONTENT_TYPE);
request.setCharacterEncoding("gbk");
PrintWriterout=response.getWriter();
AccessDBadb=newAccessDB();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
TestSessionAttrBind");
out.println("
");
out.println("
测试对象绑定会话监听...");
out.println("");
out.println("数据库记录信息");
out.println("");
//数据库访问,列出所有学生的信息,返回一个向量表
Vectorvc=adb.selectDB();
//用一个列表来接收返回的向量表
for(inti=0;iout.println("");
out.println(((StuBean)vc.get(i))._toString());
out.println("");
}
out.println("");
out.println("
");
//修改成绩的按钮
out.println("");
out.println("");
out.println("");
out.println("");
out.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
4.UpdateDBServlet.java(修改数学成绩界面)
packagecom.homework;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjavax.servlet.http.HttpSession;
/**
*对选中的同学的数学成绩进行修改
**/
publicclassUpdateDBServletextendsHttpServlet{
privatestaticfinalStringCONTENT_TYPE="text/html;charset=GBK";
publicvoidinit()throwsServletException{}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType(CONTENT_TYPE);
PrintWriterout=response.getWriter();
out.println("
DOCTYPEHTMLPUBLIC\"-//W3C//DTDHTML4.01Transitional//EN\">");
out.println("");
out.println("
UpdateDBServlet");
out.println("
");
out.println("
修改选择记录");
//保存会话
StuBeanstu=newStuBean(Integer.parseInt(request.getParameter("select")));
HttpSessionsession=request.getSession();
session.setAttribute("stu",stu);//产生会话事件绑定
//显示该学生记录信息
out.println("");
out.println("学号"+stu.getSno()+"姓名"+stu.getName()+"语文"+stu.getChinese()+"
");
out.println("数学");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
5.UpdateMathServlet.java数学成绩修改成功界面
packagecom.homework;
importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.Enumeration;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
import