java+jsp+sql server实现网页版四则运算.
设计思路:
1需要的工具以及实现这个算法和代码的事先条件。
(1)sql server里面建议一个叫t_result的表)(当然你起什么名字都可以),里面输入所需要的列名。id,firstnumber,secondnumber,thirdnumber,operator,result。
(2)eslisp 导入jdbc包(自己去百度找,谢谢.),连接数据库需要。
(3)导入jsp的包。
2思路:
1.连接数据库,并实现增删改查。
2 设计一个随机生成计算式的函数方法。
3 jsp页面设计4个,第一个界面输入时间以及题目数,第二个界面利用for循环,进行输入次数的随机生成计算式存入数据库,第三个界面进行遍历输入数据库中的所有计算式,在列表里面输出。
代码参上:
1连接数据库(sql server的)
package com.gao.msg.Utli; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DBUtil {
public static Connection getConnection()
{
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
} //try
catch (InstantiationException | IllegalAccessException | ClassNotFoundException e)
{
e.printStackTrace();
}//catch
String user="sa";
String password="123456";
String url="jdbc:sqlserver://localhost:1433;DatabaseName=Text";
Connection connection =null;
try {
connection=DriverManager.getConnection(url, user, password);
} //try
catch (SQLException e) {
e.printStackTrace();
}//catch
return connection;
}//connection
public static void close(Connection connection)
{
try {
if(connection!=null)
{
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}//close connection
public static void close(PreparedStatement preparedStatement)
{
try {
if(preparedStatement!=null)
{
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}//close preparedStatement public static void close(ResultSet resultSet)
{
try {
if(resultSet!=null)
{
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}//class
2 增删改查:
(1)接口类。
package com.gao.msg.Dao;
import java.util.List;
import com.gao.msg.model.User;
public interface IUserDao {
public void add(User user);
public void delete(int id);
public int load(int id);
public List<User> load();
}
2实现类:
package com.gao.msg.Dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import com.gao.msg.Utli.DBUtil;
import com.gao.msg.model.User; public class UserDaoImpl implements IUserDao { @Override
public void add(User user) //添加
{
Connection connection=DBUtil.getConnection();
String sql="insert into t_result (id,firstnumber,secondnumber,thirdnumber,result,operator) values(?,?,?,?,?,?)";
PreparedStatement preparedStatement=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, user.getId());
preparedStatement.setInt(2, user.getFirstnumber());
preparedStatement.setInt(3, user.getSecondnumber());
preparedStatement.setInt(4, user.getThirdnumber());
preparedStatement.setInt(5, user.getResult());
preparedStatement.setString(6, user.getOperator());
preparedStatement.executeUpdate();
}//try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}//finally }//add
public void delete(int id)//删除
{
Connection connection=DBUtil.getConnection();
String sql="delete from t_result where id=?";
PreparedStatement preparedStatement=null;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
} //try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(connection);
DBUtil.close(preparedStatement);
}//finally
}//delete
public int load(int id)
{
Connection connection=DBUtil.getConnection();
String sql="select * from t_result where id = ?";
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
int result=0;
try
{
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet=preparedStatement.executeQuery();
while(resultSet.next())
{
result=resultSet.getInt("result");
}//while
} //try
catch (SQLException e)
{
e.printStackTrace();
}//catch
finally
{
DBUtil.close(connection);
DBUtil.close(preparedStatement);
}//finally
return result;
}//load
public List<User> load() {
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "select * from t_result";
//创建语句传输对象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//集合中只能放入user对象
List<User> users = new ArrayList<User>();
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(resultSet.getInt("id"));
user.setFirstnumber(resultSet.getInt("firstnumber"));
user.setSecondnumber(resultSet.getInt("secondnumber"));
user.setThirdnumber(resultSet.getInt("thirdnumber"));
user.setResult(resultSet.getInt("result"));
user.setOperator(resultSet.getString("operator"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return users;
} }//class
生成随机算式的方法:
(1)随机数生成:
package com.gao.msg.faction; import java.util.Random;
class Romdomnumber {
public int randomunmber(int number)
{
Random random=new Random();
int b=random.nextInt(number);
return b;
}//Randomnumber }
(2)利用随机数生成算式:
package com.gao.msg.faction; import com.gao.msg.Dao.UserDaoImpl;
import com.gao.msg.model.User; public class yunsuan
{
int firstnumber;
int secondnumber;
int thirdnumber;
int operator;
int panduan;
UserDaoImpl userdao=new UserDaoImpl();
public void xfaction(int id)
{
Romdomnumber xromdomnumber=new Romdomnumber();
User user=new User();
operator=xromdomnumber.randomunmber(4)+1;
if(operator==1)
{
user.setId(id);
user.setOperator("+");
while(true){
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(101);
panduan=xromdomnumber.randomunmber(2);
if(panduan==0)
{
thirdnumber=xromdomnumber.randomunmber(101);
}//if
else
{
thirdnumber=0;
}//else
if((firstnumber+secondnumber+thirdnumber)<=100)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(thirdnumber);
user.setResult(firstnumber+secondnumber+thirdnumber);
}//if(operator==1)
else if(operator==2)
{
user.setId(id);
user.setOperator("-");
while(true){
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(101);
panduan=xromdomnumber.randomunmber(2);
if(panduan==0)
{
thirdnumber=xromdomnumber.randomunmber(101);
}//if
else
{
thirdnumber=0;
}//else
if((firstnumber-secondnumber-thirdnumber)>0)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(thirdnumber);
user.setResult(firstnumber-secondnumber-thirdnumber);
}//if(operator==2)
else if(operator==3)
{
user.setId(id);
user.setOperator("×");
firstnumber=xromdomnumber.randomunmber(11);
secondnumber=xromdomnumber.randomunmber(11);
while(true)
{
if((firstnumber*secondnumber)<=100)
{
break;
}
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(0);
user.setResult(firstnumber*secondnumber);
}//if(operator==3)
else
{
user.setId(id);
user.setOperator("÷");
while(true)
{
firstnumber=xromdomnumber.randomunmber(101);
secondnumber=xromdomnumber.randomunmber(10)+1;
if((firstnumber%secondnumber)==0)
{
break;
}//if
}//while
user.setFirstnumber(firstnumber);
user.setSecondnumber(secondnumber);
user.setThirdnumber(0);
user.setResult(firstnumber/secondnumber);
}//if(operator==4)
userdao.add(user);
}//xfaction }//yunsuan
User类,用来储存各种数据:
package com.gao.msg.model;
public class User {
private int id;
private int firstnumber;
private int secondnumber;
private int thirdnumber;
private String operator;
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public int getFirstnumber() {
return firstnumber;
}
public void setFirstnumber(int firstnumber) {
this.firstnumber = firstnumber;
}
public int getSecondnumber() {
return secondnumber;
}
public void setSecondnumber(int secondnumber) {
this.secondnumber = secondnumber;
}
public int getThirdnumber() {
return thirdnumber;
}
public void setThirdnumber(int thirdnumber) {
this.thirdnumber = thirdnumber;
}
private int result;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
}
jsp的输入页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTf-8"
pageEncoding="UTf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTf-8">
<title>选择界面</title>
<style type="text/css">
<!--
.STYLE2 {color: #0000FF}
.STYLE3 {color: #FFFF00}
-->
</style>
</head>
<body background=C:\Users\111\Pictures\22.jpg>
<form action="select.jsp" >
<table width="400" height="189" border="1" align="center">
<tr align="center" > </tr>
<tr align="center">
<td align="left" bgcolor="#CCE8CF"><span class="STYLE2">请输入出题数</span></td>
<td><input type="text" name="num2"/></td>
</tr>
<tr align="center">
<td align="left"><span class="STYLE3">请输入答题时间</span></td>
<td><input type="text" name="num"/>
</td>
</tr>
<tr align="center">
<td colspan="2"><input name="submit" type="submit" value="确定" />
</td>
</tr>
</table>
</form>
</body>
</html>
题目生成:
<%@page import="com.gao.msg.faction.yunsuan"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <%
String number=request.getParameter("number");
int num=Integer.parseInt(request.getParameter("num"));
yunsuan yun=new yunsuan();
int i=0;
for(i=1;i<=num;i++)
{
yun.xfaction(i);
}//for
response.sendRedirect("list.jsp");
%> </html>
题目列表:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page import="java.util.List"%>
<%@page import="com.gao.msg.Dao.UserDaoImpl"%>
<%@page import="com.gao.msg.model.User"%>
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>习题</title>
<style type="text/css">
<!--
.STYLE3 {
font-family: "宋体";
font-size: 24px;
}
body {
background:C:\Users\111\Pictures\333.jpg;
}
-->
</style>
</head> <%
UserDaoImpl userDao=new UserDaoImpl();
List<User> users = userDao.load();
%>
<body background="C:\Users\111\Pictures\333.jpg">
<form action="judge.jsp">
<table align="left" border="1" width="464">
<tr>
<td width="216" height="70" bgcolor="#FFCC33">题目</td>
<td width="232" bgcolor="#CC6699">请输入结果</td>
</tr>
<% int ni=0;
for( User user : users ){
%>
<tr>
<td height="96" bgcolor="#00FF00"> <span class="STYLE3"><%=user.getFirstnumber()%>
<%=user.getOperator()%>
<%=user.getSecondnumber()%>
<%if(user.getThirdnumber()!=0){%>
<%=user.getOperator()%>
<%=user.getThirdnumber() %>
<%} %>
=</span></td>
<td bgcolor="#0066FF">
<% ni=ni+1; %>
<input type="text" name="<%=ni%>"/>
</td>
</tr>
<%
}
%>
<tr align="center">
<td height="91" colspan="2" bgcolor="#FF0000">
<input type="submit" value="确定提交" />
</td>
</tr>
</table>
、
</form>
</body>
</html>
结果输出:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page import="org.apache.coyote.http11.NpnHandler"%>
<%@page import="java.util.List"%>
<%@page import="com.gao.msg.Dao.UserDaoImpl"%>
<%@page import="com.gao.msg.model.User"%>
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试结果</title>
<style type="text/css">
.container{font-family:宋体;font-size:18px;font-weight:bold;width:720px;}
H1{font-family:宋体;font-size:44px;color:#B22222;letter-spacing:12px;}
ul{list-style-type:none;margin:0;padding:0;overflow:hidden;}
</style>
</head>
<body background=C:\Users\111\Pictures\777.jpg>
<%
UserDaoImpl UserDao=new UserDaoImpl();
List<User> users = UserDao.load();
int m=0;int n=0;int stm=0;
for( User user : users ){
m=m+1;
}
%>
<%
for(n=1;n<=m;n++)
{
String x=Integer.toString(n);
int id=-2;
String y=request.getParameter(x);
if(y==null||"".equals(y))
{ id=-1;}
else
{ id = Integer.parseInt(y);}
if(id==UserDao.load(n))
{
stm=stm+1;
System.out.println(stm);
}
}
%>
<h1 align="center">总题数:<%=m %>题</h1> <h1 align="center">答对:<%=stm %>题</h1>
<%
for(User user : users )
{
int id=user.getId();
UserDao.delete(id);
}
%>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<a href="InputTitle.jsp" >继续答题</a>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>
运行结果:
】


java+jsp+sql server实现网页版四则运算.的更多相关文章
- SQL Server 2016正式版安装(超多图)
微软数据库SQL Server 2016正式版在2016年6月就发布,由于近期工作忙,一直拖到现在才有时间把安装过程写到博客上,分享给大家.本人一直习惯使用英文版,所以版本和截图都是英文版的.废话少说 ...
- win7 安装SQL Server 2005 开发版 图文教程
转自win7 安装SQL Server 2005 开发版 图文教程 ----------------------------写在安装前------------------------------ 一. ...
- Windows XP系统安装SQL Server 2005(开发版)图解
转自Windows XP系统安装SQL Server 2005(开发版)图解 安装前提:由于有些从网上的下载的项目需要导入SQL Server 2005的数据文件,因此,今天便安装了这个数据库,我的系 ...
- Sql Server 2005 开发版亲測可用下载地址
sqlserver2005开发版下载地址:http://222.132.81.146/rj/cs_sql_2005_dev_all_dvd.rar建议使用迅雷下载. sql server 2005 开 ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Sql Server 2008开发版(Developer Edition)过期升级企业版(Enterprise Edition)失败后安装学习版(Express Edition)
最近一个多月,甚是悠哉,无事可做.上线的网站系统也没接到客户的反馈,反而觉得无聊之极了.上周五早上,一上QQ,就收到客户发来消息,管理平台无法登陆了.心里一惊,立马开始查找故障原因.翻看了系统日志,提 ...
- jTDS Java连接SQL Server 2000数据库
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...
- Java 链接SQL Server 数据库
1 //Java 连接 SQL Server数据库 2 public static final String DRIVERNAME="com.microsoft.sqlserver.jdbc ...
- JAVA 连接 SQL Server 2008:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
新项目需要修改Java开发的MES系统...Java忘的也差不多了...简单尝试以下JAVA连接SQL Server吧,没想到坑还是很多的.以前直接连oracle时没有这么多麻烦啊....可能微软和o ...
随机推荐
- LINUX 笔记-文件属性相关命令
chgrp:该命令用于改变文件所属用户组 chown:该命令用于改变文件的所有者 chmod:该命令用于改变文件的权限 -R:进行递归的持续更改,即连同子目录下的所有文件都会更改
- Servlet 笔记-Session 跟踪
HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录. 但是仍然有以下三种方式来维持 ...
- 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)
一:gulp优点: 易于使用 通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理: 插件高质 Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作. 构建快速 利用 Node ...
- 通过Struts了解MVC框架,兼说如何在面试中利用Struts证明自己
虽然目前Struts MVC框架不怎么用了,但它确是个能帮助大家很好地入门Web MVC框架,而且,一些历史项目可能还用Struts,反正技多不压身,大家如果能在面试中通过项目证明自己Struts这块 ...
- Ionic3 遇到的一些错误- Error: Your isarray platform does not have Api.js
执行:ionic cordova resources android --icon -i 生成应用图标时,出现下面的错误: 尝试解决方案: 删掉整个项目,重新创建,竟然好了....
- Hawk-and-Chicken
Hawk-and-Chicken Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- SpringAop源码情操陶冶-AspectJAwareAdvisorAutoProxyCreator
本文将对SpringAop中如何为AspectJ切面类创建自动代理的过程作下简单的分析,阅读本文前需要对AOP的Spring相关解析有所了解,具体可见Spring源码情操陶冶-AOP之ConfigBe ...
- IdentityServer4 实现 OAuth 2.0(密码模式 - HTTP Post 方式)
之前写了一篇文章:<IdentityServer4 实现 OpenID Connect 和 OAuth 2.0> 上面这篇文章虽然详细,但都是点到为止的介绍,并没有实际应用的示例,所以,后 ...
- CentOs6.8 hadoop集群搭建过程中的问题
1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...
- Re.findall() & Re.finditer()的用法
re.findall(pattern, string, flags=0) Return all non-overlapping matches of pattern in string, as a l ...