首先附上选择题目数量和每行题数的JSP代码
四则运算{%>
请输入您要出多少道题:
请输入一行几到题:
现在是接收的Servlet层
packagemath;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*** Servlet implementation class SizeServlet*/@WebServlet("/SizeServlet")public class SizeServlet extendsHttpServlet {private static final long serialVersionUID = 1L;/***@seeHttpServlet#HttpServlet()*/
publicSizeServlet() {super();//TODO Auto-generated constructor stub
}protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throwsServletException, IOException
{
arg0.setCharacterEncoding("utf-8");
arg1.setCharacterEncoding("utf-8");
String function=arg0.getParameter("method");if(function.equals("submit"))
{
String str;intsum,n;
str=arg0.getParameter("sum");if(str==""||str==null)
{
arg0.setAttribute("message", "提交失败,题目数不能为空");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);return;
}
sum=Integer.valueOf(str).intValue();
str=arg0.getParameter("n");if(str==""||str==null)
{
arg0.setAttribute("message", "提交失败,每行个数不能为空");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);return;
}
n=Integer.valueOf(str).intValue();
SizeService.setSum(sum);
SizeService.setN(n);if(sum<=1000&&n<=8&&n>0)
{
arg0.setAttribute("message", "提交成功");
arg0.getRequestDispatcher("NewFile.jsp").forward(arg0, arg1);return;
}else{
arg0.setAttribute("message", "提交失败");
arg0.getRequestDispatcher("NewFile1.jsp").forward(arg0, arg1);return;
}
}
}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub
doGet(request, response);
}
}
然后是出题的代码
四则运算m=SizeService.getSum();
n=SizeService.getN();
mg.generate(m,1);for(int i=0;i
{%>
for(int j=0;j
{%>
=>>其中出题代码中的MathGenerate()是自己定义的一个出题的类,专门用来出题,这里可以改成自己写的任何其他的出题类
然后就是判断做题是否正确的代码
四则运算String daan[]=request.getParameterValues("daan");
String question[]=request.getParameterValues("question");intm,n;
m=SizeService.getSum();
n=SizeService.getN();for(int i=0;i
{if(answer[i].equals(""))
{%>
您没有做第题:= 这道题的正确答案是{%>
您做的第题:=恭喜您做对了这道题您做的第题:=很遗憾您做错了这道题,正确答案是这个主要的就是值的传递
然后就是最简单的结束代码
结束结束答题!
其中插了一张图片可根据自己需要删除
接下来是运行过程图片
提交之后进入答题界面:
点击提交进入判断正误界面(我没做这个题所以是这个样子)
在判断完正误之后可以选择继续答题或者结束答题
结束答题时这个样子的
这个四则运算主要的就是在JSP文件中值进行传递和页面的跳转其他的问题都时一些JAVA封装好的类然后进行调用