JavaWeb项目开发案例精粹-第3章在线考试系统-005action层
1.
1 <?xml version="1.0" encoding="UTF-8" ?><!-- XML声明 --> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 4 "http://struts.apache.org/dtds/struts-2.1.dtd"><!-- 指定Struts 2配置文件的DTD信息 --> 5 <struts><!-- 根节点 --> 6 <constant name="struts.i18n.encoding" value="gb2312"></constant> 7 <package name="struts2" extends="struts-default"> 8 <action name="login" class="com.sanqing.action.LoginAction"> 9 <result name="studentSuccess" type="chain">getRandomSubject</result><!--进入考试页面--> 10 <result name="teacherSuccess" type="redirect">/teacher/index.html</result><!--老师登录成功页面--> 11 <result name="input">/login.jsp</result><!--登录失败页面--> 12 </action> 13 <action name="subjectAdd" class="com.sanqing.action.SubjectAddAction"> 14 <result name="success" type="redirect">/teacher/subjectAdd.jsp</result><!--重定向到试题添加页面--> 15 <result name="input">/teacher/subjectAdd.jsp</result><!--请求转发到试题添加页面--> 16 </action> 17 <action name="subjectQuery" class="com.sanqing.action.QuerySubjectAction"> 18 <result name="success">/teacher/subjectManage.jsp</result><!--跳转到试题列表管理页面--> 19 </action> 20 <action name="subjectParticular" class="com.sanqing.action.SubjectParticularAction"> 21 <result name="success">/teacher/subjectShow.jsp</result><!--跳转到试题详细显示页面--> 22 </action> 23 <action name="subjectUpadateBefore" class="com.sanqing.action.SubjectUpdateBefore"> 24 <result name="success">/teacher/subjectUpdate.jsp</result><!--跳转到试题更新页面--> 25 </action> 26 <action name="subjectUpadate" class="com.sanqing.action.SubjectUpdateAction"> 27 <result name="success">/teacher/subjectUpdate.jsp</result><!--跳转到试题更新页面--> 28 </action> 29 <action name="subjectLikeQuery" class="com.sanqing.action.LikeQuerySubjectAction"> 30 <result name="success">/teacher/subjectManage.jsp</result><!--跳转到试题列表管理页面--> 31 </action> 32 <action name="getRandomSubject" class="com.sanqing.action.GetRandomSubject"> 33 <result name="success">/student/index.jsp</result><!--跳转到考试页面--> 34 </action> 35 <action name="submitExam" class="com.sanqing.action.SubmitExamAction"> 36 <result name="success">/student/examResult.jsp</result><!--跳转到考试页面--> 37 </action> 38 <action name="showSubjectAnswer" class="com.sanqing.action.ShowSubjectAnswer"> 39 <result name="success">/student/showAnswer.jsp</result><!--跳转到考试页面--> 40 </action> 41 <action name="queryStudentByName" class="com.sanqing.action.QueryStudentByName"> 42 <result name="success">/teacher/studentManage.jsp</result><!--跳转到学生管理页面--> 43 </action> 44 <action name="queryStudentByClass" class="com.sanqing.action.QueryStudentByClass"> 45 <result name="success">/teacher/studentManage.jsp</result><!--跳转到学生管理页面--> 46 </action> 47 </package> 48 </struts>
2.
1 package com.sanqing.action; 2 3 import java.util.List; 4 5 import javax.servlet.http.HttpServletRequest; 6 7 import org.apache.struts2.ServletActionContext; 8 9 import com.opensymphony.xwork2.ActionSupport; 10 import com.sanqing.po.Subject; 11 import com.sanqing.service.SubjectService; 12 import com.sanqing.service.SubjectServiceImpl; 13 14 /* 15 * 获得随机试题 16 */ 17 public class GetRandomSubject extends ActionSupport{ 18 private SubjectService subjectService = new SubjectServiceImpl(); 19 public String execute() throws Exception { 20 List<Subject> subjects = subjectService.randomFindSubject(20);//获得试题记录 21 HttpServletRequest request = ServletActionContext.getRequest(); 22 request.setAttribute("subjects", subjects); 23 return SUCCESS; 24 } 25 }
3.
1 package com.sanqing.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import javax.servlet.http.HttpServletRequest; 7 8 import org.apache.struts2.ServletActionContext; 9 10 import com.opensymphony.xwork2.ActionSupport; 11 import com.sanqing.po.Subject; 12 import com.sanqing.service.SubjectService; 13 import com.sanqing.service.SubjectServiceImpl; 14 import com.sanqing.util.Page; 15 import com.sanqing.util.PageResult; 16 17 public class LikeQuerySubjectAction extends ActionSupport { 18 private String subjectTitle; //试题标题 19 private int currentPage; //当前页 20 private SubjectService subjectService = new SubjectServiceImpl(); 21 22 public int getCurrentPage() { 23 return currentPage; 24 } 25 26 public void setCurrentPage(int currentPage) { 27 this.currentPage = currentPage; 28 } 29 30 public String getSubjectTitle() { 31 return subjectTitle; 32 } 33 34 public void setSubjectTitle(String subjectTitle) { 35 this.subjectTitle = subjectTitle; 36 } 37 38 public String execute() throws Exception { 39 Page page = new Page(); 40 page.setEveryPage(10);//每页显示10条记录 41 page.setCurrentPage(currentPage);//设置当前页 42 PageResult pageResult = subjectService.likeQueryBySubjectTitle(subjectTitle, page); 43 List<Subject> subjects = pageResult.getList();//获得试题记录 44 List<Subject> newSubjects = new ArrayList<Subject>();//新的记录 45 //给关键字标红 46 for(Subject subject : subjects) { 47 String newTitle = subject.getSubjectTitle().replaceAll(subjectTitle, 48 "<font color='red'>" + subjectTitle + "</font>"); 49 subject.setSubjectTitle(newTitle); 50 newSubjects.add(subject); 51 } 52 53 page = pageResult.getPage();//获得分页信息 54 HttpServletRequest request = ServletActionContext.getRequest(); 55 request.setAttribute("subjects", newSubjects); 56 request.setAttribute("page", page); 57 return SUCCESS; 58 } 59 }
4.
1 package com.sanqing.action; 2 3 import java.util.Map; 4 5 import com.opensymphony.xwork2.ActionContext; 6 import com.opensymphony.xwork2.ActionSupport; 7 import com.sanqing.po.Student; 8 import com.sanqing.service.StudentService; 9 import com.sanqing.service.StudentServiceImpl; 10 import com.sanqing.service.TeacherService; 11 import com.sanqing.service.TeacherServiceImpl; 12 13 public class LoginAction extends ActionSupport { 14 private String id; // 接受用户编号 15 private String password; // 接受用户密码 16 private String role; // 接受用户角色 17 private StudentService studentService = 18 new StudentServiceImpl();//学生业务逻辑组件引用 19 private TeacherService teacherService = 20 new TeacherServiceImpl();//教师业务逻辑组件引用 21 22 public String getId() { 23 return id; 24 } 25 26 public void setId(String id) { 27 this.id = id; 28 } 29 30 public String getPassword() { 31 return password; 32 } 33 34 public void setPassword(String password) { 35 this.password = password; 36 } 37 38 public String getRole() { 39 return role; 40 } 41 42 public void setRole(String role) { 43 this.role = role; 44 } 45 46 public String execute() throws Exception { 47 if("student".equals(role)) {//如果以学生身份登录 48 if(studentService.allowLogin(id, password)) { 49 Student studentInfo = studentService.getStudentInfo(id); 50 //保存学生记录到session范围 51 Map session = ActionContext.getContext().getSession(); 52 session.put("studentInfo", studentInfo); 53 return "studentSuccess"; 54 }else { 55 addActionError("该学生编号不存在,或者密码不正确!"); 56 return this.INPUT; 57 } 58 }else { 59 if(teacherService.allowLogin(id, password)) { 60 return "teacherSuccess"; 61 }else { 62 addActionError("该教师编号不存在,或者密码不正确!"); 63 return this.INPUT; 64 } 65 } 66 } 67 }
5.
1 package com.sanqing.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import javax.servlet.http.HttpServletRequest; 7 8 import org.apache.struts2.ServletActionContext; 9 10 import com.opensymphony.xwork2.ActionSupport; 11 import com.sanqing.po.Student; 12 import com.sanqing.service.StudentService; 13 import com.sanqing.service.StudentServiceImpl; 14 15 public class QueryStudentByClass extends ActionSupport{ 16 private String sclass; 17 private StudentService studentService = new StudentServiceImpl(); 18 public String getSclass() { 19 return sclass; 20 } 21 22 public void setSclass(String sclass) { 23 this.sclass = sclass; 24 } 25 public String execute() throws Exception { 26 HttpServletRequest request = ServletActionContext.getRequest(); 27 List<Student> students = studentService.getStudentByClass(sclass); 28 request.setAttribute("students", students); 29 return this.SUCCESS; 30 } 31 32 }
6.
1 package com.sanqing.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import javax.servlet.http.HttpServletRequest; 7 8 import org.apache.struts2.ServletActionContext; 9 10 import com.opensymphony.xwork2.ActionSupport; 11 import com.sanqing.po.Student; 12 import com.sanqing.service.StudentService; 13 import com.sanqing.service.StudentServiceImpl; 14 15 public class QueryStudentByName extends ActionSupport{ 16 private String studentName; 17 private StudentService studentService = new StudentServiceImpl(); 18 public String getStudentName() { 19 return studentName; 20 } 21 public void setStudentName(String studentName) { 22 this.studentName = studentName; 23 } 24 public String execute() throws Exception { 25 HttpServletRequest request = ServletActionContext.getRequest(); 26 List<Student> students = studentService.getStudentByName(studentName); 27 request.setAttribute("students", students); 28 return this.SUCCESS; 29 } 30 31 }
7.
1 package com.sanqing.action; 2 3 import java.util.List; 4 5 import javax.servlet.http.HttpServletRequest; 6 7 import org.apache.struts2.ServletActionContext; 8 9 import com.opensymphony.xwork2.ActionSupport; 10 import com.sanqing.po.Subject; 11 import com.sanqing.service.SubjectService; 12 import com.sanqing.service.SubjectServiceImpl; 13 import com.sanqing.util.Page; 14 import com.sanqing.util.PageResult; 15 16 public class QuerySubjectAction extends ActionSupport { 17 private int currentPage; //当前页 18 private SubjectService subjectService = new SubjectServiceImpl(); 19 20 public int getCurrentPage() { 21 return currentPage; 22 } 23 24 public void setCurrentPage(int currentPage) { 25 this.currentPage = currentPage; 26 } 27 28 public String execute() throws Exception { 29 Page page = new Page(); 30 page.setEveryPage(10);//每页显示10条记录 31 page.setCurrentPage(currentPage);//设置当前页 32 PageResult pageResult = subjectService.querySubjectByPage(page); 33 List<Subject> subjects = pageResult.getList();//获得试题记录 34 page = pageResult.getPage();//获得分页信息 35 HttpServletRequest request = ServletActionContext.getRequest(); 36 request.setAttribute("subjects", subjects); 37 request.setAttribute("page", page); 38 return SUCCESS; 39 } 40 }
8.
1 package com.sanqing.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Map; 6 7 import javax.servlet.http.HttpServletRequest; 8 9 import org.apache.struts2.ServletActionContext; 10 11 import com.opensymphony.xwork2.ActionContext; 12 import com.opensymphony.xwork2.ActionSupport; 13 import com.sanqing.po.Subject; 14 import com.sanqing.service.SubjectService; 15 import com.sanqing.service.SubjectServiceImpl; 16 17 /* 18 * 显示试题答案 19 */ 20 public class ShowSubjectAnswer extends ActionSupport{ 21 private SubjectService subjectService = new SubjectServiceImpl(); 22 public String execute() throws Exception { 23 List<Subject> subjects = new ArrayList<Subject>();//保存学生考过的题目 24 HttpServletRequest request = ServletActionContext.getRequest(); 25 Map session = ActionContext.getContext().getSession(); 26 List<Integer> subjectIDs = (List<Integer>) session.get("subjectIDs"); 27 for(Integer subjectID : subjectIDs) { 28 Subject subject = subjectService.showSubjectParticular(subjectID);//通过试题编号查找试题 29 subjects.add(subject); 30 } 31 request.setAttribute("subjects", subjects); 32 return SUCCESS; 33 } 34 }
9.
1 package com.sanqing.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 import com.sanqing.po.Subject; 5 import com.sanqing.service.SubjectService; 6 import com.sanqing.service.SubjectServiceImpl; 7 8 //该Action用来接收试题参数,并调用业务逻辑组件SubjectService来完成试题添加 9 public class SubjectAddAction extends ActionSupport{ 10 private String subjectTitle; 11 private String subjectOptionA; 12 private String subjectOptionB; 13 private String subjectOptionC; 14 private String subjectOptionD; 15 private String subjectAnswer; 16 private String subjectParse; 17 private SubjectService subjectService = new SubjectServiceImpl(); 18 19 public String getSubjectTitle() { 20 return subjectTitle; 21 } 22 public void setSubjectTitle(String subjectTitle) { 23 this.subjectTitle = subjectTitle; 24 } 25 public String getSubjectOptionA() { 26 return subjectOptionA; 27 } 28 public void setSubjectOptionA(String subjectOptionA) { 29 this.subjectOptionA = subjectOptionA; 30 } 31 public String getSubjectOptionB() { 32 return subjectOptionB; 33 } 34 public void setSubjectOptionB(String subjectOptionB) { 35 this.subjectOptionB = subjectOptionB; 36 } 37 public String getSubjectOptionC() { 38 return subjectOptionC; 39 } 40 public void setSubjectOptionC(String subjectOptionC) { 41 this.subjectOptionC = subjectOptionC; 42 } 43 public String getSubjectOptionD() { 44 return subjectOptionD; 45 } 46 public void setSubjectOptionD(String subjectOptionD) { 47 this.subjectOptionD = subjectOptionD; 48 } 49 public String getSubjectAnswer() { 50 return subjectAnswer; 51 } 52 public void setSubjectAnswer(String subjectAnswer) { 53 this.subjectAnswer = subjectAnswer; 54 } 55 public String getSubjectParse() { 56 return subjectParse; 57 } 58 public void setSubjectParse(String subjectParse) { 59 this.subjectParse = subjectParse; 60 } 61 public String execute() throws Exception { 62 Subject subject = new Subject(); 63 subject.setSubjectTitle(subjectTitle); 64 subject.setSubjectOptionA(subjectOptionA); 65 subject.setSubjectOptionB(subjectOptionB); 66 subject.setSubjectOptionC(subjectOptionC); 67 subject.setSubjectOptionD(subjectOptionD); 68 subject.setSubjectAnswer(subjectAnswer); 69 subject.setSubjectParse(subjectParse); 70 if(subjectService.saveSubject(subject)) { 71 return SUCCESS; 72 }else { 73 this.addActionError("该试题已经添加过了,请不要重复添加!"); 74 return INPUT; 75 } 76 } 77 }
10.
1 package com.sanqing.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 import com.sanqing.service.SubjectService; 5 import com.sanqing.service.SubjectServiceImpl; 6 7 public class SubjectDeleteAction extends ActionSupport{ 8 private int subjectID; 9 private SubjectService subjectService = new SubjectServiceImpl(); 10 public int getSubjectID() { 11 return subjectID; 12 } 13 public void setSubjectID(int subjectID) { 14 this.subjectID = subjectID; 15 } 16 public String execute() throws Exception { 17 subjectService.deleteSubject(subjectID); 18 return SUCCESS; 19 } 20 }
11.
1 package com.sanqing.action; 2 3 import org.apache.struts2.ServletActionContext; 4 5 import com.opensymphony.xwork2.ActionSupport; 6 import com.sanqing.po.Subject; 7 import com.sanqing.service.SubjectService; 8 import com.sanqing.service.SubjectServiceImpl; 9 /* 10 * 查看试题详细信息 11 */ 12 public class SubjectParticularAction extends ActionSupport{ 13 private int subjectID; 14 private SubjectService subjectService = new SubjectServiceImpl(); 15 public int getSubjectID() { 16 return subjectID; 17 } 18 public void setSubjectID(int subjectID) { 19 this.subjectID = subjectID; 20 } 21 public String execute() throws Exception { 22 Subject subject = subjectService.showSubjectParticular(subjectID); 23 ServletActionContext.getRequest().setAttribute("subject", subject); 24 return SUCCESS; 25 } 26 }
12.
1 package com.sanqing.action; 2 3 import org.apache.struts2.ServletActionContext; 4 5 import com.opensymphony.xwork2.ActionSupport; 6 import com.sanqing.po.Subject; 7 import com.sanqing.service.SubjectService; 8 import com.sanqing.service.SubjectServiceImpl; 9 10 public class SubjectUpdateAction extends ActionSupport{ 11 private int subjectID; 12 private String subjectTitle; 13 private String subjectOptionA; 14 private String subjectOptionB; 15 private String subjectOptionC; 16 private String subjectOptionD; 17 private String subjectAnswer; 18 private String subjectParse; 19 private SubjectService subjectService = new SubjectServiceImpl(); 20 21 public int getSubjectID() { 22 return subjectID; 23 } 24 public void setSubjectID(int subjectID) { 25 this.subjectID = subjectID; 26 } 27 public String getSubjectTitle() { 28 return subjectTitle; 29 } 30 public void setSubjectTitle(String subjectTitle) { 31 this.subjectTitle = subjectTitle; 32 } 33 public String getSubjectOptionA() { 34 return subjectOptionA; 35 } 36 public void setSubjectOptionA(String subjectOptionA) { 37 this.subjectOptionA = subjectOptionA; 38 } 39 public String getSubjectOptionB() { 40 return subjectOptionB; 41 } 42 public void setSubjectOptionB(String subjectOptionB) { 43 this.subjectOptionB = subjectOptionB; 44 } 45 public String getSubjectOptionC() { 46 return subjectOptionC; 47 } 48 public void setSubjectOptionC(String subjectOptionC) { 49 this.subjectOptionC = subjectOptionC; 50 } 51 public String getSubjectOptionD() { 52 return subjectOptionD; 53 } 54 public void setSubjectOptionD(String subjectOptionD) { 55 this.subjectOptionD = subjectOptionD; 56 } 57 public String getSubjectAnswer() { 58 return subjectAnswer; 59 } 60 public void setSubjectAnswer(String subjectAnswer) { 61 this.subjectAnswer = subjectAnswer; 62 } 63 public String getSubjectParse() { 64 return subjectParse; 65 } 66 public void setSubjectParse(String subjectParse) { 67 this.subjectParse = subjectParse; 68 } 69 public String execute() throws Exception { 70 Subject subject = new Subject(); 71 subject.setSubjectID(subjectID); 72 subject.setSubjectTitle(subjectTitle); 73 subject.setSubjectOptionA(subjectOptionA); 74 subject.setSubjectOptionB(subjectOptionB); 75 subject.setSubjectOptionC(subjectOptionC); 76 subject.setSubjectOptionD(subjectOptionD); 77 subject.setSubjectAnswer(subjectAnswer); 78 subject.setSubjectParse(subjectParse); 79 subjectService.updateSubject(subject);//更新 80 ServletActionContext.getRequest().setAttribute("subject", subject); 81 this.addActionMessage("更新成功!"); 82 return SUCCESS; 83 } 84 }
13.
1 package com.sanqing.action; 2 3 import org.apache.struts2.ServletActionContext; 4 5 import com.opensymphony.xwork2.ActionSupport; 6 import com.sanqing.po.Subject; 7 import com.sanqing.service.SubjectService; 8 import com.sanqing.service.SubjectServiceImpl; 9 10 /* 11 * 获得更新试题前的试题 12 */ 13 public class SubjectUpdateBefore extends ActionSupport { 14 private int subjectID; 15 private SubjectService subjectService = new SubjectServiceImpl(); 16 public int getSubjectID() { 17 return subjectID; 18 } 19 public void setSubjectID(int subjectID) { 20 this.subjectID = subjectID; 21 } 22 public String execute() throws Exception { 23 Subject subject = subjectService.showSubjectParticular(subjectID); 24 ServletActionContext.getRequest().setAttribute("subject", subject); 25 return SUCCESS; 26 } 27 }
14.
1 package com.sanqing.action; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import java.util.Map; 6 7 import javax.servlet.http.HttpServletRequest; 8 9 import org.apache.struts2.ServletActionContext; 10 11 import com.opensymphony.xwork2.ActionContext; 12 import com.opensymphony.xwork2.ActionSupport; 13 import com.sanqing.po.Student; 14 import com.sanqing.service.StudentService; 15 import com.sanqing.service.StudentServiceImpl; 16 import com.sanqing.service.SubjectService; 17 import com.sanqing.service.SubjectServiceImpl; 18 19 /* 20 * 提交试卷,并打分 21 */ 22 public class SubmitExamAction extends ActionSupport{ 23 private List<Integer> subjectID;//学生考试的题目 24 private SubjectService subjectService = new SubjectServiceImpl(); 25 private StudentService studentService = new StudentServiceImpl(); 26 public List<Integer> getSubjectID() { 27 return subjectID; 28 } 29 public void setSubjectID(List<Integer> subjectID) { 30 this.subjectID = subjectID; 31 } 32 public String execute() throws Exception { 33 HttpServletRequest request = ServletActionContext.getRequest(); 34 List<String> studentAnswers = new ArrayList<String>(); 35 for(int i = 0; i < 20; i++) { 36 String answer = request.getParameter("subjectAnswer"+i); 37 studentAnswers.add(answer); 38 } 39 int GeneralPoint = subjectService.accountResult(subjectID, studentAnswers); 40 41 //设置成绩到学生信息中 42 Map session = ActionContext.getContext().getSession(); 43 Student student = (Student)session.get("studentInfo"); 44 String studentID = student.getStudentID(); 45 studentService.setStudentResult(studentID, GeneralPoint); 46 request.setAttribute("studentName", student.getStudentName());//保存学生姓名和总分数 47 request.setAttribute("GeneralPoint", GeneralPoint); 48 session.put("subjectIDs", subjectID);//将考试题目保存到session,方便后面显示答案使用 49 return SUCCESS; 50 } 51 }
转载于:https://www.cnblogs.com/shamgod/p/5320359.html
JavaWeb项目开发案例精粹-第3章在线考试系统-005action层相关推荐
- JavaWeb项目开发案例精粹-第6章报价管理系统-001需求分析及设计
1. 2. 3. 4. 5. 6. 转载于:https://www.cnblogs.com/shamgod/p/5323645.html
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
1. 2.back_index.html 1 <HTML> 2 <HEAD> 3 <META HTTP-EQUIV="Content-Type" CO ...
- 20套初级javaweb项目开发案例(适合白小)——计算机毕业设计
20套javaweb项目开发案例,数据库是mysql.有jsp+servlet,ssh和ssm项目.纯项目源码,配套详细项目讲解说明.适合初学者使用.可以用作课题项目,期末作业等
- JAVA EE项目开发及应用实训报告——网上考试系统
** JAVA EE项目开发及应用实训 ** 题 目: 网上考试系统 系 别: 专 业: 学生姓名: 学 号: 指导教师: 题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 • ...
- 小程序项目:基于微信小程序的在线考试系统springboot框架——计算机毕业设计
项目介绍 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受学生的喜爱,微信在线考试系统被学生普遍使用,为方便学生能 ...
- python项目开发案例精粹-Python金融实战案例精粹
随着金融科技时代的到来,Python在金融领域的影响力已经有目共睹.掌握Python在金融实务中的应用,已经成为金融科技达人们必备的技能之一. 本书作为<基于Python的金融分析与风险管理&g ...
- javaweb项目开发案例
前言 我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件.为何这么说?你会发现我们可以通过控制台. Java 代码. C++ 代码.甚至是 Socket 向 Brok ...
- Java项目:(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
源码获取:博客首页 "资源" 里下载! 考试流程: 用户前台注册成为学生 管理员后台添加老师,系统将该用户角色上升为老师 老师登录,添加考试,添加题目,发布考试 考生登录前台参加考 ...
- 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook
图书作者: 明日科技 图书编号: 9787121141140 图书格式: PDF 出 版 社: 电子工业出版社 出版年份: 2011 图书页数: 800-900 [内容简介] <实战突击:php ...
- C#项目开发案例全程实录(第2版)(奋斗的小鸟)_PDF电子书
下载地址: http://pan.baidu.com/share/link?shareid=373066639&uk=721744522 内容简介 <C#项目开发案例全程实录(第2版)( ...
最新文章
- LeetCode 05最长回文子串
- vmstat 命令的使用
- Oracle11G数据泵支持,Oracle11gr2数据泵新特性(五)
- OpenLiberty:注入时出错,适用于TomEE和Wildfly
- ZYI PHP授权系统开源
- linux rdma服务,在Linux中infiniband rdma差转转bw
- 用Windows Live Writer在博客园发布Post
- Cimag 用法总结
- 统计·数值分析·概率论·人工智能数学基础
- 微信桌面版如何同时登陆两个微信账号
- 横摆角速度传感器原理
- 篮球中的PG,SG,SF,PF 英文全称分别是什么
- 《孙子兵法战场机变之军争篇》
- vue权限管理实现思路
- 第一台电子计算机诞生于1944,(),第一台数字电子计算机问世。A、1944年B、1945年C、1946年 - 众答网问答...
- 华北计算机系统工程研究所 韩庆,华北电力大学学报(自然科学版)
- python毫秒级sleep
- OpenCV+Tesseract自动识别文字区域并识别文字
- 在windows 10上使用qemu安装Windows 10虚拟机
- 计算机硬件技术基础(太原理工大学):第二章
热门文章
- php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的
- 获取json格式的内容数据时,使用的方法避免空指针
- java继承求三角形圆形面积_Java - 三角形与圆形面积
- 工业机器人演示码垛和卸垛_「成果播报」流水线上的“专家”——智能拆垛装车机器人系统...
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_4 HiddentHttpMethodFilter过滤器
- 阶段3 1.Mybatis_09.Mybatis的多表操作_6 分析mybatis多对多的步骤并搭建环境
- 多进程——守护进程例子
- Spring MVC基础环境搭建
- 给你的应用“一只”智慧的眼睛 —— Barcode常识普及以及识别信息处理
- 【Java学习笔记】数组的相关事项