- 博客(11)
- 收藏
- 关注
原创 c语言应用面向对象
<br />#include <stdio.h>#include <stdlib.h>#include <stdarg.h>/*两种图形*/typedef enum{point,circle}ShapeType;/*图形的基类*/typedef struct{ ShapeType type; void(*destroy)(); void (*draw)();}Shape;/*点类型*/typedef struct{
2011-05-13 13:40:00
420
原创 分析“关联”需仔细
<br /> 程序课程辅助考核系统有4个类,分别是:考生类,试卷类,考题类,考空类,它们有如下关系:<br /> <br /><br /> <br /> 可以看出,一个学生拥有一张卷子,一张卷子有若干个考题,一道考题有若干个考空(填空题)。<br /> 这里有一点,reTxt是考生作答,这里把它作为了考空(Blank)的属性,咋一看没问题,确实每一个考空都会有考生的作答信息。但是,因为考空(或者考题,试卷)可以不依赖于考生,独立存在,而作答必须是某位考生的作答,不能脱离考生独立存在,所以不适合作为考空
2011-05-03 23:15:00
535
原创 filter:登陆验证和权限验证
<br />一、在MyEclipse中定义filter<br /> 只要在新建普通类时让它实现Filter接口就可以了。然后IDE会自动导入相关必须的类(还挺多的),而且一般会生成3个方法:<br />public void init(FilterConfig filterConfig) throws ServletExceptionpublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
2011-05-01 18:40:00
2141
原创 JS对象继承方式研究
<br />此处使用最常用的组合继承模式,避免了原形链和借用构造函数的缺陷,融合了它们的优点。<br />以下定义SuperType和SubType两个类,其中SubType继承SuperType<br /> //超类 构造函数 function SuperType(name){ //定义自己的实例属性 this.name=name; this.colors=["red","blue","green"]; } //定义实例间的共享属性和方法 SuperType.protot
2011-05-01 13:03:00
942
原创 JavaScript创建对象方式研究
<br />以下内容是跟随《JavaScript高级程序设计》(第二版)这本书的第6.1章节上机实践所得。<br /> <br /> <br />构造函数模式:<br />function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayName=function(){ alert(this.name); };}<br /> 缺点:每创建一个对象都会新创建一个sayName对象
2011-04-29 12:26:00
554
原创 学号、姓名、组号、自动阅卷评分、有问题的题目数
情况是这样的,有一个学生表(学号、姓名、组号、试卷号),试卷表(试卷号,题号,空号,分值),考题表(考题号,题干),考空表(考题号,考空号,参考答案),作答表(学号,题号,空号,作答)。 现在,试卷表是考空表的一部分,因为试卷上的题目是题库中考题的一部分;作答表是学生表和试卷表的一部分,因为考虑到有的学生会一道题都没有做(一般不会出现),以及有的考生只会做试卷上的部分题目,考生每作答一个考空就插入一条记录。 要获取本文题目所述的目的(这只是目的之一),我利用视图技术。 首先第一个视图是v作答(学号
2011-04-21 23:09:00
1146
原创 使用SQL事务的一个简单架构
1、变量@@ERROR,输出错误代码,例如:服务器: 消息 156,级别 15,状态 1,行 6在关键字 'CONSTRAINT' 附近有语法错误。156 和消息值一样,如果没错,则输出02、@@TRANCOUNTBEGIN TRANSACTION让该变量值+1,COMMIT TRANSACTION和COMMIT WORK让它-1,ROLLBACK TRANSACTION让它变为0,ROLLBACK TRANSACTION savepoint_name不会影响它。3、因此,使用事务的一个可行的,最简
2011-04-18 22:49:00
477
原创 考题的修改
原来的样子如下:点击题干文本后如下:点击取消后恢复原样,点击提交后提交数据。点击“详细”按钮后显示相关参考答案和分值:点击一个参考答案文本后如下(点击分值文本同样显示):首先,一道考题的Dom结构是这样的:题干:title2删除考题源文件名:
2011-04-17 22:57:00
493
原创 选择文件或上传文件
考虑到“获取目录下所有文件”这一操作,除了考题录入外,可能还会在别的地方被用到,所以写成一个独立的servlet,谁要用它,就调用它。private String root; public void init(ServletConfig config) throws ServletException{ super.init(config); root=config.getServletContext().getRealPath("/"); } //选择已有的文件 Fi
2011-04-12 01:05:00
1483
原创 删除考题
数据库端,考题表(题号,题干,源文件名),考空表(题号,空号,参考答案,分值)定义删除考题的存储过程如下:--删除一道考题CREATE PROCEDURE pr_delQuestion @qid varchar(50), --考题id @result bit=0 output --0表示删除失败,1表示成功ASbegin--先删除所有考空delete from answers where questionID=@qid--再删除考题delete from q
2011-04-10 21:24:00
552
原创 用cos组件上传文件前先验证文件是否已存在
在做考试系统的“试题录入”功能时发现,利用cos组件的MultipartRequest可以很顺利地上传文件并获取客户端其余的表单参数MultipartRequest mr=new MultipartRequest(request, root+"files","utf-8");//相关数据库操作//题干,源程序存放路径String title=mr.getParameter("title");//一道题目的所有答案String[] answer=mr.getParameterValues(
2011-04-10 15:36:00
1801
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人