有个问题,我要做答题系统,所以用checkbox做了选择题的选项提交到servlet里面,因为每次需要很多题,所以需要同时上传多组数据,我用form循环提交表单,可是每次servlet都只能接受到一条。
这个是jsp页面的代码
<%
request.setCharacterEncoding("utf-8");
//创建地址
String url="jdbc:sqlserver://localhost\\SQLEXPRESS:1433;DatabaseName=EEWAnsweringSystem";
//用户名
String user="sa";
//密码
String pwd="123456";
//连接对象
Connection conn=null;
try{
//加载驱动程序类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch (Exception ex){
System.out.println("错误"+ex);
}
try {
//获取数据库连接
conn=DriverManager.getConnection(url,user,pwd);
}catch (Exception ex){
System.out.println("连接数据库错误"+ex);
}
//创建Statement对象
Statement stmt=conn.createStatement();
//数据库查询语句
String sqlStr="select top 3 * from testsingle order by newid()";
ResultSet rs=stmt.executeQuery(sqlStr);
int i=0;
//结果集
%>
<form action="singleBean/singleBean" method="get" >
<%
while (rs.next()){
if(i==0){
i++;
}
%>
<div class="testbody">
题目编号:<input type="text" name="Code" value="<%=rs.getString(8)%>" style="border:0;"><br>
<%out.println(i++);%>、<%=rs.getString(1)%><br>
<input type="checkbox" value="A" name="Skey"> A <%=rs.getString(2)%><br>
<input type="checkbox" value="B" name="Skey"> B <%=rs.getString(3)%><br>
<input type="checkbox" value="C" name="Skey"> C <%=rs.getString(4)%><br>
<input type="checkbox" value="D" name="Skey"> D <%=rs.getString(5)%><br>
</div>
<%
}
%>
<input type="submit" value="提交" id="btn">
</form>
</body>
这是servletl的代码
package singleBean;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import singleBean.singleBean;
@WebServlet("/singleBean")
public class singleBean extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String[] Code=request.getParameterValues("Code");
String[] Skey=request.getParameterValues("Skey");
for(int i=0;i<Code.length;i++){
System.out.println("题目编号"+Code[i]+"用户答案"+Skey[i]);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
刚想说只能返回一条数据,结果就能都输出了,简直跟我有仇!
毕业论文有望了!