
请JSP高手帮小弟解释一下这段代码,老师要求我们自学JSP,希望高手能非常详细的解释一下!compute_goal
<%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"import="java.sql...
<%@page contentType = "text/html;charset = gb2312" %>
<%@page language = "java" import = "java.sql.*" %>
<%@page import ="com.mysql.jdbc.Driver"%>
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post">
<center>
<%
//循环操作返回的数据
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
session.setAttribute("goal",goal);
response.sendRedirect("show_goal.jsp");
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e);
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
}
%>
</table>
</center>
</form>
</body>
</html>
这是在线考试系统中的一个部分。
只要解释的够详细,我会追加50分,谢谢啦! 展开
<%@page language = "java" import = "java.sql.*" %>
<%@page import ="com.mysql.jdbc.Driver"%>
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post">
<center>
<%
//循环操作返回的数据
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
session.setAttribute("goal",goal);
response.sendRedirect("show_goal.jsp");
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e);
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
}
%>
</table>
</center>
</form>
</body>
</html>
这是在线考试系统中的一个部分。
只要解释的够详细,我会追加50分,谢谢啦! 展开
4个回答
展开全部
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
这一段代码作用是和数据库区的连接,然后发送一个指令:select * from question,这样表question中的内容就都查询出来了,查询结果存入rs中
然后循环取出rs中的数据:
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
期间会输出标准答案(来自数据库)和回答的答案(来自页面输入)。如果两个答案相同,就加上5分,反之不加分。循环结束后,把最后的总分放入session中,跳转到show_goal页面。期间如果发生异常,就输出错误信息it's wrong!最后关闭资源(这个是使用流必须做的)。
以下为逐行解释:
<%@page contentType = "text/html;charset = gb2312" %> //设置编码格式
<%@page language = "java" import = "java.sql.*" %> //引入sql包供程序使用
<%@page import ="com.mysql.jdbc.Driver"%> //引入jdbc数据库驱动,以便练级数据库
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//以上三个对象分别为连接对象(连接数据库),数据处理对象(发送sql指令)和返回结果集对象(装在返回的结果)。
try
{
int goal = 0; //设置初始分数为0
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver"); //数据库驱动类型为mysql
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root"; //数据库驱动的用户名,密码和url地址
conn = DriverManager.getConnection(Sconn); //取得数据库的连接,然后就可以向数据库要数据了
//创建statement对象
stmt = conn.createStatement(); //初始化一个数据处理对象
//执行SQL语句
String query = "select * from question"; //定义查询语句
rs = stmt.executeQuery(query); //执行查询语句
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post"> //封装数据,提交给compute_goal.jsp
<center>
<%
//循环操作返回的数据
while(!rs.isLast()) //如果结果集中还有数据
{
String s = String.valueOf(i); //每一道题的索引位置,从1开始
rs.next(); //从第一题开始循环,以此类推
String a = rs.getString("answer");System.out.print(a); //第一题的数据库中的标准答案
String re=request.getParameter(s);System.out.println(re); //第一题的页面回答的答案
if(re.equals(a)) //如果库中的和回答的一致
goal+=5; //加五分,反之不加分
i++; //就继续判断下一道题
}
session.setAttribute("goal",goal); //最终得分放入session
response.sendRedirect("show_goal.jsp"); //跳转到show_goal.jsp页面
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e); //如果期间发生异常,就输出it is wrong!!
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
//最后,关闭所有的数据库资源。
}
%>
</table>
</center>
</form>
</body>
</html>
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
这一段代码作用是和数据库区的连接,然后发送一个指令:select * from question,这样表question中的内容就都查询出来了,查询结果存入rs中
然后循环取出rs中的数据:
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
期间会输出标准答案(来自数据库)和回答的答案(来自页面输入)。如果两个答案相同,就加上5分,反之不加分。循环结束后,把最后的总分放入session中,跳转到show_goal页面。期间如果发生异常,就输出错误信息it's wrong!最后关闭资源(这个是使用流必须做的)。
以下为逐行解释:
<%@page contentType = "text/html;charset = gb2312" %> //设置编码格式
<%@page language = "java" import = "java.sql.*" %> //引入sql包供程序使用
<%@page import ="com.mysql.jdbc.Driver"%> //引入jdbc数据库驱动,以便练级数据库
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//以上三个对象分别为连接对象(连接数据库),数据处理对象(发送sql指令)和返回结果集对象(装在返回的结果)。
try
{
int goal = 0; //设置初始分数为0
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver"); //数据库驱动类型为mysql
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root"; //数据库驱动的用户名,密码和url地址
conn = DriverManager.getConnection(Sconn); //取得数据库的连接,然后就可以向数据库要数据了
//创建statement对象
stmt = conn.createStatement(); //初始化一个数据处理对象
//执行SQL语句
String query = "select * from question"; //定义查询语句
rs = stmt.executeQuery(query); //执行查询语句
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post"> //封装数据,提交给compute_goal.jsp
<center>
<%
//循环操作返回的数据
while(!rs.isLast()) //如果结果集中还有数据
{
String s = String.valueOf(i); //每一道题的索引位置,从1开始
rs.next(); //从第一题开始循环,以此类推
String a = rs.getString("answer");System.out.print(a); //第一题的数据库中的标准答案
String re=request.getParameter(s);System.out.println(re); //第一题的页面回答的答案
if(re.equals(a)) //如果库中的和回答的一致
goal+=5; //加五分,反之不加分
i++; //就继续判断下一道题
}
session.setAttribute("goal",goal); //最终得分放入session
response.sendRedirect("show_goal.jsp"); //跳转到show_goal.jsp页面
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e); //如果期间发生异常,就输出it is wrong!!
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
//最后,关闭所有的数据库资源。
}
%>
</table>
</center>
</form>
</body>
</html>
展开全部
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
这一段代码作用是和数据库区的连接,然后发送一个指令:select * from question,这样表question中的内容就都查询出来了,查询结果存入rs中
然后循环取出rs中的数据:
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
期间会输出标准答案(来自数据库)和回答的答案(来自页面输入)。如果两个答案相同,就加上5分,反之不加分。循环结束后,把最后的总分放入session中,跳转到show_goal页面。期间如果发生异常,就输出错误信息it's wrong!最后关闭资源(这个是使用流必须做的)。
以下为逐行解释:
<%@page contentType = "text/html;charset = gb2312" %> //设置编码格式
<%@page language = "java" import = "java.sql.*" %> //引入sql包供程序使用
<%@page import ="com.mysql.jdbc.Driver"%> //引入jdbc数据库驱动,以便练级数据库
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//以上三个对象分别为连接对象(连接数据库),数据处理对象(发送sql指令)和返回结果集对象(装在返回的结果)。
try
{
int goal = 0; //设置初始分数为0
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver"); //数据库驱动类型为mysql
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root"; //数据库驱动的用户名,密码和url地址
conn = DriverManager.getConnection(Sconn); //取得数据库的连接,然后就可以向数据库要数据了
//创建statement对象
stmt = conn.createStatement(); //初始化一个数据处理对象
//执行SQL语句
String query = "select * from question"; //定义查询语句
rs = stmt.executeQuery(query); //执行查询语句
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post"> //封装数据,提交给compute_goal.jsp
<center>
<%
//循环操作返回的数据
while(!rs.isLast()) //如果结果集中还有数据
{
String s = String.valueOf(i); //每一道题的索引位置,从1开始
rs.next(); //从第一题开始循环,以此类推
String a = rs.getString("answer");System.out.print(a); //第一题的数据库中的标准答案
String re=request.getParameter(s);System.out.println(re); //第一题的页面回答的答案
if(re.equals(a)) //如果库中的和回答的一致
goal+=5; //加五分,反之不加分
i++; //就继续判断下一道题
}
session.setAttribute("goal",goal); //最终得分放入session
response.sendRedirect("show_goal.jsp"); //跳转到show_goal.jsp页面
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e); //如果期间发生异常,就输出it is wrong!!
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
//最后,关闭所有的数据库资源。
}
%>
</table>
</center>
</form>
</body>
</html>
顺便留个高手的QQ号,没事可以请教他的:723539630
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
{
int goal = 0;
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver");
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
//创建statement对象
stmt = conn.createStatement();
//执行SQL语句
String query = "select * from question";
rs = stmt.executeQuery(query);
%>
这一段代码作用是和数据库区的连接,然后发送一个指令:select * from question,这样表question中的内容就都查询出来了,查询结果存入rs中
然后循环取出rs中的数据:
while(!rs.isLast())
{
String s = String.valueOf(i);
rs.next();
String a = rs.getString("answer");System.out.print(a);
String re=request.getParameter(s);System.out.println(re);
if(re.equals(a))
goal+=5;
i++;
}
期间会输出标准答案(来自数据库)和回答的答案(来自页面输入)。如果两个答案相同,就加上5分,反之不加分。循环结束后,把最后的总分放入session中,跳转到show_goal页面。期间如果发生异常,就输出错误信息it's wrong!最后关闭资源(这个是使用流必须做的)。
以下为逐行解释:
<%@page contentType = "text/html;charset = gb2312" %> //设置编码格式
<%@page language = "java" import = "java.sql.*" %> //引入sql包供程序使用
<%@page import ="com.mysql.jdbc.Driver"%> //引入jdbc数据库驱动,以便练级数据库
<%
int i = 1;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
//以上三个对象分别为连接对象(连接数据库),数据处理对象(发送sql指令)和返回结果集对象(装在返回的结果)。
try
{
int goal = 0; //设置初始分数为0
//载入MySQL的JDBC驱动类
Class.forName("com.mysql.jdbc.Driver"); //数据库驱动类型为mysql
//获得数据库连接
String Sconn = "jdbc:mysql://localhost:3306/onlinetest?user=root&password =root"; //数据库驱动的用户名,密码和url地址
conn = DriverManager.getConnection(Sconn); //取得数据库的连接,然后就可以向数据库要数据了
//创建statement对象
stmt = conn.createStatement(); //初始化一个数据处理对象
//执行SQL语句
String query = "select * from question"; //定义查询语句
rs = stmt.executeQuery(query); //执行查询语句
%>
<html>
<head>
<title>欢迎您!</title>
</head>
<body>
<form action="compute_goal.jsp" method="post"> //封装数据,提交给compute_goal.jsp
<center>
<%
//循环操作返回的数据
while(!rs.isLast()) //如果结果集中还有数据
{
String s = String.valueOf(i); //每一道题的索引位置,从1开始
rs.next(); //从第一题开始循环,以此类推
String a = rs.getString("answer");System.out.print(a); //第一题的数据库中的标准答案
String re=request.getParameter(s);System.out.println(re); //第一题的页面回答的答案
if(re.equals(a)) //如果库中的和回答的一致
goal+=5; //加五分,反之不加分
i++; //就继续判断下一道题
}
session.setAttribute("goal",goal); //最终得分放入session
response.sendRedirect("show_goal.jsp"); //跳转到show_goal.jsp页面
%>
</tr>
</form>
<%
}
catch(SQLException e)
{
System.out.println("it is wrong!!"+e); //如果期间发生异常,就输出it is wrong!!
}
finally
{
//释放数据库连接
rs.close();
stmt.close();
conn.close();
//最后,关闭所有的数据库资源。
}
%>
</table>
</center>
</form>
</body>
</html>
顺便留个高手的QQ号,没事可以请教他的:723539630
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%
'删除
if Request.QueryString("title") = "del" then //如果get传过来的title的值为"del"字符串的时候
dim id,sort,name,sqlsort,selectid //申请变量
id = int(Request.Form("id")) //表单传过来的ID,转成INT型
sort = int(Request.Form("sort")) //表单传过来的sort,转成INT型
name = trim(Request.form("name")) //表单传过来的name,去空格
BigClassName = trim(Request.QueryString("BigClassName")) '类别 //get传过来的大类名,去空格
NoncePage = int(Request.QueryString("page")) '当前页码 //get传过来的页码,去空格
keytext = Replace(trim(Request("keytext")),"'","") '查询关键字 //表单传过来的keytext,有引号时替换,去空格
selectid = Request("selectid") //表单传过来的selectid
if selectid = "" or selectid = Empty or selectid = null then //如果selectid为空或者selectid 没东西则弹出下面JAVA
script
Response.write("<script language='javascript'>alert('请先选择要删除的资料!');window.history.go(-1);</script>")
Response.end //结束
end if //结束判断语句
'查询所有勾选资料的图片并用FSO删除
dim rsquery,pic //定义变量
set rsquery = Server.CreateObject("adodb.recordset") //连接数据库
rsquery.open "select * from ProductSH where id in ("&selectid&")",conn,1,1 //数据库id=selectid的所有相关信息
if not rsquery.eof then //如果没到结尾则
do while not rsquery.eof //没到结尾则循环
pic = pic & trim(rsquery("pic")) & "," //pic+表单pic+,
rsquery.movenext //往下读
loop //循环
end if //结束判断
rsquery.close //结束
dim allstr,i,all //定义变量
allstr = Split(pic,",",-1) //读出PIC,按,号分离 '-1表示返回所有子字符串
For i = LBound(allstr) To UBound(allstr) //转大小写
delpic("../../pic/"&trim(allstr(i))) 'FSO彻底删除图片,释放空间 //删除指定PIC
Next
sqlsort = "delete from [ProductSH] where id in ("&selectid&")" //删除数据库 id=selectid的相关数据
conn.Execute(sqlsort) //执行SQL语句
%>
虽然本人能力有限,希望还是对你有所帮助
'删除
if Request.QueryString("title") = "del" then //如果get传过来的title的值为"del"字符串的时候
dim id,sort,name,sqlsort,selectid //申请变量
id = int(Request.Form("id")) //表单传过来的ID,转成INT型
sort = int(Request.Form("sort")) //表单传过来的sort,转成INT型
name = trim(Request.form("name")) //表单传过来的name,去空格
BigClassName = trim(Request.QueryString("BigClassName")) '类别 //get传过来的大类名,去空格
NoncePage = int(Request.QueryString("page")) '当前页码 //get传过来的页码,去空格
keytext = Replace(trim(Request("keytext")),"'","") '查询关键字 //表单传过来的keytext,有引号时替换,去空格
selectid = Request("selectid") //表单传过来的selectid
if selectid = "" or selectid = Empty or selectid = null then //如果selectid为空或者selectid 没东西则弹出下面JAVA
script
Response.write("<script language='javascript'>alert('请先选择要删除的资料!');window.history.go(-1);</script>")
Response.end //结束
end if //结束判断语句
'查询所有勾选资料的图片并用FSO删除
dim rsquery,pic //定义变量
set rsquery = Server.CreateObject("adodb.recordset") //连接数据库
rsquery.open "select * from ProductSH where id in ("&selectid&")",conn,1,1 //数据库id=selectid的所有相关信息
if not rsquery.eof then //如果没到结尾则
do while not rsquery.eof //没到结尾则循环
pic = pic & trim(rsquery("pic")) & "," //pic+表单pic+,
rsquery.movenext //往下读
loop //循环
end if //结束判断
rsquery.close //结束
dim allstr,i,all //定义变量
allstr = Split(pic,",",-1) //读出PIC,按,号分离 '-1表示返回所有子字符串
For i = LBound(allstr) To UBound(allstr) //转大小写
delpic("../../pic/"&trim(allstr(i))) 'FSO彻底删除图片,释放空间 //删除指定PIC
Next
sqlsort = "delete from [ProductSH] where id in ("&selectid&")" //删除数据库 id=selectid的相关数据
conn.Execute(sqlsort) //执行SQL语句
%>
虽然本人能力有限,希望还是对你有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询