最近的一个任务是公司试用的JSP版考试系统,感觉就是练笔用的。以前笔试的时候是.Net版本,这次是java,大同小易,不过都是让学员仿写
的而已,首先是实现读取.properties中的文件,包括了如何在tomcat上获得相对路径的方法,其中有不少波折,感觉能独立地分离出要实现的
功能进行独立的测试是最好的,然后就是糊里糊涂忙了一下午的中文编码问题和数字转字符,基本上以放弃告终。接下来是生成页面的表格行
宽控制,最后还是用dreamweaver改。晚上又让在start的时候发一封,提交的时候发2封给hr,基本参考2封给笔试人的成例写了出来。添加了
验证email格式的javascript。即将实现一个录入题库的页面。搞了老半天才搞定单form的多submit。
接着尽量完善,过程绝对是痛苦的,不知什么时候才是尽头,jacky加入了,一起研究发现原来的版本到底有多烂,看得吐血,jacky学得很好
,比我强多了,我开始反省这么久以来自己到底学了些什么,方法,方向,还有程度,都在思考,确定的是知识就是工具,而我们需要的是能
够熟练使用工具做自己想做的事。晚上吃饭,几个人聊了一下先后进来的经历,只是很零碎地谈了一些,却帮助我了解了很多他人的想法。
又过了半个星期多,包括题目录入在内的所以项目代码基本完工,简单测试了一下,确保除首页外获得的都是servlet,而由中间页submit都会
跳转回首页,相关的验证测试也基本完成,绝对交付leader了,但愿经得起他的考验吧。
http://172.16.113.14/ltiwebsite/interview/Default.aspx
http://172.16.113.14/ltiwebsite/interview/AddQuestion.aspx
http://localhost:8080/exam/index.jsp
http://localhost:8080/exam/AddQuestion.jsp
http://localhost:8080/exam/AddJuniorQuestion.jsp
http://localhost:8080/exam/AddSeniorQuestion.jsp
读取properties
tomcat上相对路径的寻址
提交的时候发2封给hr2,2封给笔试人。
加name tel email验证
结束显示成绩,跳转到index
防止中间页渗透
start的时候发一封hr1.
.net中提交页面文字也会放大。
统计分数,修改bt的答案验证功能。
清session,不可后退
多种组合中,1,3,4,5只选junior(1),2能选2个,6只选senior,但senior(2)
重点剩下录入题库
防止中间页访问
检查其他容错
独立的测试
directions:start from the begin
html,xml,http/tcp/ip,javascript,jsp.jstl,struts,spring,hibernate,
learn it from beginning
another issue ---windows status bar
Q_ID(int)Question_Type(char)Question_Desc(nvarchar)Question_Mark(char)
Q_ID(java.lang.Integer)Question_Type(java.lang.String)Question_Desc(java.lang.String)Question_Mark(java.lang.String)
Q_ID(11)Question_Type(1)Question_Desc(4000)Question_Mark(1)
sql = "select * from question";
A_ID(int)Q_ID(int)Answer_Desc(nvarchar)Check(int)
A_ID(java.lang.Integer)Q_ID(java.lang.Integer)Answer_Desc(java.lang.String)Check(java.lang.Integer)
A_ID(11)Q_ID(11)Answer_Desc(4000)Check(11)
sql = "select * from answer";
String qType = "1";
String qDesc = "for_test......";
String qMark = "1";
String insertSql = "insert into question(Question_Type,Question_Desc,Question_Mark)"
+ " values(?,?,?) SELECT SCOPE_IDENTITY() AS Q_ID";
String querySql = "select Q_ID,Question_Type,Question_Desc,Question_Mark from question where Question_Desc='"
+ qDesc + "'";
ResultSet rs;
ArrayList arrayList = new ArrayList();
arrayList.add(qType);
arrayList.add(qDesc);
arrayList.add(qMark);
try {
rs = DbUtil.getInstance().querySqlCmdWithParams(insertSql, arrayList);
if(rs.next()){
querySql = "select Q_ID,Question_Type,Question_Desc,Question_Mark from question where Q_ID="
+(rs.getInt(1));}
rs = DbUtil.getInstance().openResultset(querySql);
while (rs.next()) {
System.out.println(rs.getInt("Q_ID"));
System.out.println(rs.getString("Question_Type"));
System.out.println(rs.getString("Question_Desc"));
System.out.println(rs.getString("Question_Mark"));
}
String qid = "1000000";
String aDesc = "for_test...";
String aCheck = "0";
String insertSql = "insert into answer(Q_ID,Answer_Desc,[Check])" + " values(?,?,?)";
String querySql = "select a.A_ID,a.Q_ID,a.Answer_Desc,a.[Check] as ch from answer as a where Q_ID="+qid;
ResultSet rs ;
ArrayList arrayList = new ArrayList();
arrayList.add(qid);
arrayList.add(aDesc);
arrayList.add(aCheck);
try {
DbUtil.getInstance().execSqlCmdWithParams(insertSql, arrayList);
rs = DbUtil.getInstance().openResultset(querySql);
while(rs.next()){
System.out.println(rs.getInt("A_ID"));
System.out.println(rs.getInt("Q_ID"));
System.out.println(rs.getString("Answer_Desc"));
System.out.println(rs.getInt("ch"));
}
DbUtil.getInstance().close();
} catch (Exception e) {
e.printStackTrace();
}
try {
/*
*
*/
String qType = "1";
String qDesc = "for_test......";
String qMark = "1";
String aDesc = "for_test...answer1";
String aCheck = "0";
String qid = "10000000";
String aid = "10000000";
String insertQSql = "insert into question(Question_Type,Question_Desc,Question_Mark) values(?,?,?) SELECT SCOPE_IDENTITY() AS Q_ID";
String insertASql = "insert into answer(Q_ID,Answer_Desc,[Check]) values(?,?,?) SELECT SCOPE_IDENTITY() AS A_ID";
String queryQSql = "select q.Q_ID as qid,q.Question_Type as qType,q.Question_Desc as qDesc,q.Question_Mark as qMark from question as q where Q_ID=";
String queryASql = "select a.A_ID as aid,a.Q_ID as qid,a.Answer_Desc as aDesc,a.[Check] as ch from answer as a where A_ID=";
ResultSet rs;
ArrayList arrayList = new ArrayList();
arrayList.add(qType);
arrayList.add(qDesc);
arrayList.add(qMark);
try {
rs = DbUtil.getInstance().querySqlCmdWithParams(insertQSql, arrayList);
if(rs.next()){
qid = rs.getString(1);
}
queryQSql = queryQSql+qid;
rs = DbUtil.getInstance().openResultset(queryQSql);
while (rs.next()) {
System.out.println(rs.getInt("qid"));
System.out.println(rs.getString("qType"));
System.out.println(rs.getString("qDesc"));
System.out.println(rs.getString("qMark"));
}
System.out.println("----");
arrayList = new ArrayList();
arrayList.add(qid);
arrayList.add(aDesc);
arrayList.add(aCheck);
rs = DbUtil.getInstance().querySqlCmdWithParams(insertASql,arrayList);
if(rs.next()){
aid = rs.getString(1);
}
queryASql = queryASql+aid;
rs = DbUtil.getInstance().openResultset(queryASql);
while (rs.next()) {
System.out.println(rs.getInt("aid"));
System.out.println(rs.getInt("qid"));
System.out.println(rs.getString("aDesc"));
System.out.println(rs.getInt("ch"));
}
DbUtil.getInstance().close();
} catch (Exception e) {
e.printStackTrace();
}
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
// Establish the connection.
/*Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(connectionUrl);*/
// Create and execute an SQL statement that returns some data.
String sql = "select top 60 q.q_id as qid ,q.question_desc as question, a.answer_desc as answer ,a.[Check] AS ch"
+" from question as q left join answer as a on q.q_id = a.q_id "
+" where q.question_type ='1' and q.question_mark ='1' order by newid()";
String q_id = "59";
sql = "select cast(a.q_id as varchar(6))+'_'+cast(a.a_id as varchar(6)) as aqid from answer as a where a.[Check]=1 and a.q_id="+q_id;
sql = "select count(a.[Check]) as count from answer as a where a.q_id in (59,60)";
sql = "select * from question";
//List list = DbUtil.getInstance().getResultset(sql);
ResultSet rs = DbUtil.getInstance().openResultset(sql);
/*stmt = con.createStatement();
rs = stmt.executeQuery(SQL);*/
// Iterate through the data in the result set and display it.
/*while (rs.next()) {
System.out.println(rs.getString(2) + " " + rs.getString(3));
}*/
//for(int i= 0; i<list.size();i++){
//String count = ((HashMap)list.get(i)).get("count").toString();
//System.out.println(count);}
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
//rs.next();
for(int i = 0;i<count;i++){
System.out.print(rsmd.getColumnName(i+1)+",");
//rsmd.getColumnTypeName(i+1);rsmd.getColumnClassName(i+1)
}
document for exam system
http://172.16.113.14/LtiWebsite/Interview/admin/
http://172.16.113.14/ltiwebsite/interview/
http://www.longtopinternational.com/interview/admin/
http://www.longtopinternational.com/interview/
http://servicedesk.longtop.com/exam/
http://lti-station/exam
http://localhost:8080/JSPBook/
http://localhost:8080/
DonNet version :http://172.16.113.80/aspnetcode/interview/admin/
Java version http://localhost:8080/exam/
http://172.16.113.102:8080/exam/
http://localhost:8080/exam/admin/
http://localhost:8080/exam/
http://localhost:8080/exam/CandidateLogin.jsp
test001@126.com
you can slow,even skip,but be careful
172.16.113.80
administrator
xchange
D:\aspnetcode\ltiwebsite.mdb
exam
di
northbayadventure
欢迎
参加的类型
出错联系
enable
读取properties
tomcat上相对路径的寻址
提交的时候发2封给hr2,2封给笔试人。
加name tel email验证
结束显示成绩,跳转到index
防止中间页渗透
start的时候发一封hr1.
.net中提交页面文字也会放大。
统计分数,修改bt的答案验证功能。
清session,不可后退
多种组合中,1,3,4,5只选junior(1),2能选2个,6只选senior,但senior(2)
重点剩下录入题库
防止中间页访问
检查其他容错
独立的测试
windows 2003 7
Exchange Server 8
ISA Server 9
SMS 10
MOM 11
change the db to access:
location
sql grammars
\\172.16.113.226\Training\Windows 2003
here is the questions, please open the file and find the question then input it into database.
"problems
录入题目bug
移出ps
留下一个eb
exam时newid
改qid和aid?
显示题目bug
去掉language.properties及相关引用languageutil.java
another issue ---windows status bar
http://lucene.apache.org/java/docs/
ProgrammingCurriculum
Property
分享到:
相关推荐
### JSP在线考试系统毕业设计的关键知识点 #### 一、项目背景及意义 JSP(Java Server Pages)是一种基于Java的服务器端脚本技术,它允许开发者创建动态网页。本项目“JSP在线考试系统”旨在开发一套适用于学校或...
JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试系统的设计与实现JSP网上考试...
【基于WEB的jsp在线考试系统】是一个用于实现网络化考试的平台,它利用Java Server Pages (JSP) 技术构建,旨在提供便捷、高效且功能丰富的考试解决方案。该系统通常具备以下关键特性: 1. **用户管理**:系统允许...
**JSP在线考试系统**是基于Java Server Pages(JSP)技术开发的一种Web应用程序,用于实现网络化的考试功能。该系统通常包含用户管理、试题库管理、考试安排、在线答题、成绩评估等多个模块,旨在提供方便、高效且...
【JSP在线考试系统源码】是一个基于JavaServer Pages(JSP)技术开发的系统,主要功能是提供在线考试的功能。这个系统不包括数据库部分,因此它的大小相对较小,适合那些具备阅读和理解源码能力的开发者进行学习和...
【基于jsp的在线考试系统源码】是一种使用JavaServer Pages(JSP)技术构建的网络应用,主要用于实现教育领域的在线考试功能。这个系统为学生、教师和管理员提供了不同的操作界面和功能,使得教学过程更加现代化和...
**JSP网上考试系统** **概述** JSP(JavaServer Pages)是一种动态网页技术,用于构建基于Java的Web应用程序,特别适用于开发交互式、数据驱动的Web应用,如本案例中的网上考试系统。该系统允许管理员发布试题,...
《基于SSM框架的JSP在线考试系统详解》 在线考试系统作为一种现代化的教育辅助工具,已经在教育领域得到了广泛的应用。本系统采用Java语言开发,基于流行的SSM(Spring、SpringMVC、MyBatis)框架,实现了高效、...
【JSP网上考试系统】是一种基于Java技术的Web应用程序,用于实现在线的考试与评测功能。JSP(Java Server Pages)是Java平台上的一个重要组成部分,它允许开发人员将静态HTML内容与动态Java代码结合起来,创建交互式...
基于远程教育的推广和在线考试需求的增加,本文设计并实现了一套在线考试系统。本系统实现了系统管理、考生管理、在线考试、在线制作试卷、控制学生考试、试卷审批等基本功能。系统采用B/S开发模式,以JAVA作为开发...
【jsp在线考试系统】是一个基于JavaServer Pages (JSP) 技术开发的教育软件,主要功能是提供在线考试服务。这个系统由三个主要部分组成:学生考试平台、教师管理平台以及管理员平台,覆盖了考试的各个环节,为教育...
**在线考试系统源码解析** 在线考试系统是基于Java服务器...总的来说,这个"jsp在线考试系统源码"是一个典型的Web应用示例,通过学习和理解其源码,开发者能深入掌握JSP技术,并了解如何构建一个完整的在线考试系统。
【标签】中的"jsp"代表了该系统的基础技术,"考试系统"明确了应用领域,"web"则表明这是基于Web的解决方案。从文件名称"[信息办公]共创在线考试测试系统 v2.0_gczxks2"来看,这可能是该系统的一个升级版本,可能包含...
【JSP小型考试系统详解】 JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的数据处理和页面生成。"jsp小型考试系统"是一个典型的JSP应用案例...
总的来说,"Jsp考试系统"是一个综合运用JSP、Servlet、JavaBean、数据库、Web安全等技术的项目,涵盖了从后端逻辑到前端展示的完整开发流程,对开发者要求具备扎实的Java Web基础和良好的软件工程实践。
《JSP在线考试系统的设计与实现》 在线考试系统是一种基于Web技术的教育应用,它为学生和教师提供了一个方便、高效、灵活的考试环境。本文将深入探讨JSP技术在构建在线考试系统中的应用,以及如何实现考试的在线...