请JSP高手帮小弟解释一下这段代码,老师要求我们自学JSP,希望高手能非常详细的解释一下!record

这是在线考试系统中的一个部分。<%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"i... 这是在线考试系统中的一个部分。
<%@page contentType="text/html;charset=gb2312" %>
<%@page language="java" import = "java.sql.*" %>
<%@page import ="com.mysql.jdbc.Driver"%>

<%
//检索该用户输入的信息是否正确
String query = "select * from question";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String result;
String ID;
String answer;
int goal = 0;
try
{
//获取数据库连接
Class.forName("com.mysql.jdbc.Driver");
String Sconn = "jdbc:mysql://localhost/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);

if(rs.next())
{
ID=rs.getString("question_ID");
result =request.getparameter(ID) ;
String answer= rs.getString("answer");
System.out.println(answer);

if(result.equals(answer))
goal+=5;
System.out.println(goal);
}
else
{
response.sendRedirect("exception.jsp");
}

}
catch(SQLException ex)
{
System.out.println(ex);
}
finally
{
rs.close();
stmt.close();
conn.close();
}
%>
只要答案满意,多加50分!谢谢啦!
展开
 我来答
峰吹过地无痕
2010-12-30 · 超过33用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:85.8万
展开全部
<%@page contentType="text/html;charset=gb2312" %>
<%@page language="java" import = "java.sql.*" %>
<%@page import ="com.mysql.jdbc.Driver"%>
--------------------------------------------------------------------------------------------------
其中charset=gb2312 是指定编码形式为gb2312 即简体中文
language="java" 是指定java语言 因为现在Jsp还只支持java 所以这句没什么用
import = "java.sql.*"
page import ="com.mysql.jdbc.Driver"
这两句是引入 其中第一句是引入jdk的sql包 数据库用的
第二句是引入 mysql的驱动类 当然你要把驱动 放到项目的lib里
--------------------------------------------------------------------------------------------------
*声明变量部分省去
从try模块开始
String Sconn = "jdbc:mysql://localhost/onlinetest?user=root&password =root";
这个字符串是 连接Mysql数据库用的
localhost本地的意思
onlinetest你用的数据库名 你用的是什么 就写什么
user 是root 密码也是root 当然这个是你自己
定的 你用户名密码是多少就写多少

conn = DriverManager.getConnection(Sconn);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);

进行数据库连接 并把结果集赋值给rs
而执行的sql语句即query 就是查询question表的内容
--------------------------------------------------------------------------------------------------
if(rs.next())
{
ID=rs.getString("question_ID");
result =request.getparameter(ID) ;
String answer= rs.getString("answer");
System.out.println(answer);

if(result.equals(answer))
goal+=5;
System.out.println(goal);
}
else
{
response.sendRedirect("exception.jsp");
}
--------------------------------------------------------------------------------------------------
以上控制台输出语句省略
if(rs.next())判断有没有数据
如果没有那么就else 就是跳转到exception.jsp
如果有 就把查询到的数据依次 赋给你之前声明的变量
--------------------------------------------------------------------------------------------------
catch(SQLException ex)
{
System.out.println(ex);
}
--------------------------------------------------------------------------------------------------
如果截获到sql异常 就在控制台打印
--------------------------------------------------------------------------------------------------
finally
{
rs.close();
stmt.close();
conn.close();
}
--------------------------------------------------------------------------------------------------
关闭数据库连接

不知道我这么说 楼主能明白么
libinxuesheng
2010-12-30 · TA获得超过149个赞
知道小有建树答主
回答量:283
采纳率:0%
帮助的人:126万
展开全部
String query = "select * from question";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String result;
String ID;
String answer;
int goal = 0;
上面这段定义自定义变量

Class.forName("com.mysql.jdbc.Driver");
String Sconn = "jdbc:mysql://localhost/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
连接数据,并查询数据库。
if(rs.next())
{
ID=rs.getString("question_ID");
result =request.getparameter(ID) ;
String answer= rs.getString("answer");
System.out.println(answer);

if(result.equals(answer))
goal+=5;
System.out.println(goal);
}
else
{
response.sendRedirect("exception.jsp");
}
这个相信是如果是查询到的问题,就获取相应的答案,把把全局变量加五,为什么要加五,我就不知道了,如果不是就调用EXCEPTION,ISP页面。
最好那几行是抛出异常,输出异常
关闭数据连接。
小弟没有学过JSP,小弟看着ASP.NET说的,有问题不要找我,分也不要了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
26284407
2010-12-30
知道答主
回答量:12
采纳率:0%
帮助的人:0
展开全部
<%@page contentType="text/html;charset=gb2312" %>//设置页面的字符集类型为gb2312
<%@page language="java" import = "java.sql.*" %>//导入java.sql包下的所有类
<%@page import ="com.mysql.jdbc.Driver"%>//导入com.mysql.jdbc.Driver类

<%
//检索该用户输入的信息是否正确
String query = "select * from question";
Connection conn = null;//Connection 数据库连接类,用来与数据库建立连接
Statement stmt = null;//Statement 对象用于将 SQL 语句发送到数据库中
ResultSet rs = null;//用来接收SQL语句的返回结果的结果集
String result;
String ID;
String answer;
int goal = 0;
try
{
//获取数据库连接
Class.forName("com.mysql.jdbc.Driver");//设置数据库的驱动类的类型
//Sconn的内容是连接到mysql类型的数据库,每种数据库的连接语句格式是不同的
String Sconn = "jdbc:mysql://localhost/onlinetest?user=root&password =root";
conn = DriverManager.getConnection(Sconn);//建立连接
stmt = conn.createStatement();//获得查询接口
rs = stmt.executeQuery(query);//通过查询接口进行数据库查询

if(rs.next())//如果本次查询有结果
{
ID=rs.getString("question_ID");//从结果集中取出字段question_ID的内容
//request为JSP内建对象,不需要声明.getparameter写错了
//正确的是getParameter(String),String为参数名称,用来接收请求参数的内容
result =request.getparameter(ID) ;
String answer= rs.getString("answer");
//把answer的内容在控制台中打印出来
System.out.println(answer);

if(result.equals(answer))//比较两个字符串内容是否相同
goal+=5;
System.out.println(goal);
}
else
{//response同request一样也是内建对象,sendRedirect为页面重定向
//如果本次查询没有结果,就转向到 exception.jsp页面
response.sendRedirect("exception.jsp");
}

}
catch(SQLException ex)
{
System.out.println(ex);
}
finally
{//在完成查询操作后的必要操作就是释放连接,以下操作会抛出异常,应该在try..catch中执行
rs.close();//释放结果集
stmt.close();//释放查询接口
conn.close();//释放数据库连接
}
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mjxaa11
2011-01-03 · TA获得超过4291个赞
知道小有建树答主
回答量:2016
采纳率:25%
帮助的人:1211万
展开全部
<%
'删除
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语句

%>

虽然本人能力有限,希望还是对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式