学生信息管理系统JSP版(Eclipse)
- 格式:docx
- 大小:1.18 MB
- 文档页数:21
基于Servlet、JSP的学⽣管理系统(附完整源码)起因最近重温servlet,想到了⼤学时期⽤同⼀个“学⽣管理系统”⽔了⼏门课的课程设计,不免感慨万千。
周末简单的写了个界⾯,建了⼏张表,做了⼀个⼩系统(试图找⼀找当年划⽔的感觉,可惜没找到)。
写的⽐较简单,不过做个普通的课程设计应该够了,需要的可以⾃取。
源码地址界⾯截图主界⾯管理员界⾯学⽣管理(管理员视⾓)添加系统⽤户(管理员视⾓)学⽣主页学⽣个⼈信息⽬录结构运⾏环境tomcat9jdk1.8其他依赖jar包见WEB-INF下⾯的lib⽂件夹。
涉及技术:Servlet、JSP、BootStrap、Jquery(较少)主要功能系统有两个⾓⾊,管理员和学⽣。
做的⽐较简单,没有建额外的⾓⾊表、权限表,仅仅⽤了⼀个字段区分。
管理员可以管理学⽣信息、教师信息、可以添加系统⽤户,录⼊成绩,具有增删改查的⼀切权限。
学⽣只能查看⾃⼰的分数,个⼈档案等。
代码分析⾸页数据统计系统运⾏时常、当前在线⼈数,这两个功能⽤到了servlet的组件,监听器。
通过继承ServletContextListener, HttpSessionListener, HttpSessionAttributeListener等接⼝,可以完成对servlet上下⽂、session的创建销毁等关键节点的监听。
在线⼈数,必然是登录成功的⼈数。
⽽session是有⼈访问页⾯就会创建,所以我们不能根据session的创建和销毁来统计在线⼈数。
在登陆成功后,会在session⾥添加⼀个变量,我们可以监听这⼀⾏为。
当设置session变量的时候,在线⼈数+1移除session变量的时候,在线⼈数-1。
当然这种做法还是有问题的,⽐如直接关闭浏览器,不点注销,数据统计就会失效,这⾥不做深⼊探究。
再来说说系统运⾏时长,我的思路是servlet上下⽂创建的时候,记录下那个时刻的时间戳。
后⾯⽤到的时候,直接⽤当前的时间戳减去保存的时间戳,就可以计算出相隔的毫秒数,也就可以得到天数。
java学生信息管理系统课程设计一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类与对象的关系、封装、继承和多态性;2. 学会使用Java集合框架管理学生信息,掌握ArrayList、HashMap等常用集合类的使用方法;3. 掌握Java异常处理机制,提高程序的健壮性;4. 理解数据库基本概念,学会使用SQLite数据库存储和管理学生信息。
技能目标:1. 能够运用面向对象思想设计学生信息管理系统,实现学生信息的增删改查功能;2. 能够使用Java集合框架对学生信息进行有效管理;3. 能够编写简单的数据库操作语句,实现对学生信息的数据存储和查询;4. 能够运用所学知识解决实际问题,具备一定的编程实践能力。
情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力;2. 增强学生编程兴趣,激发创新意识,培养探索精神;3. 培养学生良好的编程习惯,注重代码规范和程序优化;4. 培养学生严谨的学习态度,面对问题敢于挑战,勇于克服困难。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的Java基础,了解面向对象编程概念,但对实际项目开发经验不足。
教学要求:结合学生特点和课程性质,采用项目驱动教学法,引导学生自主探究,注重实践操作,提高学生的编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,提高学生的综合素质。
通过本课程的学习,使学生能够独立完成一个简单的学生信息管理系统,为后续学习打下坚实基础。
二、教学内容1. 面向对象编程基础- 类与对象的关系- 封装、继承和多态性- 抽象类和接口2. Java集合框架- ArrayList、LinkedList、HashSet、HashMap等常用集合类- 集合类的使用场景和性能分析3. Java异常处理- 异常分类和异常处理机制- try-catch-finally结构- 自定义异常4. 数据库基础- 数据库概念和SQLite数据库- 数据表的设计与创建- SQL语句:增删改查操作5. 学生信息管理系统功能模块- 系统需求分析- 功能模块划分:学生信息管理、成绩管理、课程管理等- 编程实现各模块功能6. 项目实践与拓展- 系统测试与调试- 代码优化与重构- 项目拓展:增加用户权限管理、数据可视化等教学内容安排与进度:第一周:面向对象编程基础第二周:Java集合框架第三周:Java异常处理第四周:数据库基础第五周:学生信息管理系统功能模块设计第六周:项目实践与拓展教材关联:本教学内容与《Java程序设计》教材相关章节紧密关联,涵盖了面向对象编程、Java集合框架、异常处理和数据库基础等知识点。
JavaEE课程设计(学生信息管理系统)1000字学生信息管理系统是一种面向学生信息管理的软件系统,实现了对学生基本信息、课程信息、考试信息、成绩信息等的录入、查询、修改和删除等功能。
本课程设计主要实现了以下功能:1. 登录和注册功能学生和管理员均需要先进行登录才能使用系统,管理员可以对学生信息进行管理。
注册时需要填写基本信息,包括学号、姓名、学院等。
2. 学生基本信息管理学生基本信息包括学号、姓名、年龄、性别、出生日期、籍贯、班级、专业等。
管理员可以对学生基本信息进行添加、修改、查询和删除等操作。
3. 课程信息管理课程信息包括课程编号、课程名称、课程类型、教师名字等。
管理员可以对课程信息进行添加、修改、查询和删除等操作。
4. 考试信息管理考试信息包括考试名称、考试时间、考试地点等。
管理员可以对考试信息进行添加、修改、查询和删除等操作。
5. 成绩信息管理成绩信息包括学生学号、课程编号、考试名称、成绩等。
管理员可以对成绩信息进行添加、修改、查询和删除等操作。
6. 统计功能系统可以根据学院、专业、年龄等不同条件进行统计查询,可以得到对应结果的统计图表。
在实现以上功能中,我们使用了Java EE的相关技术,包括Java Servlet、JSP、JavaBean、数据库等。
其中Servlet负责接受用户请求,处理请求并返回相应结果,JSP用于实现用户界面,JavaBean实现数据操作,并将数据返回给JSP。
我们将数据存储在MySQL数据库中,使用JDBC进行连接和操作。
此外,我们还使用了Bootstrap实现了网页的美化和响应式设计,方便了不同尺寸的设备的访问使用。
总的来说,本课程设计实现了学生信息管理系统的基本功能,并对系统进行了优化和美化,具有实用性和可操作性。
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。
它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。
Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。
本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。
用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。
在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。
权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。
在Java中,可以使用角色-权限模型来实现权限管理。
每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。
通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。
学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。
在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。
通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。
学生信息查询学生信息查询是系统的核心功能之一。
用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。
在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。
成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。
教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。
在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。
通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。
jsp做学生信息管理系统-注册-登录小实验————————————————————————————————作者:————————————————————————————————日期:注册-登录小实验1.0 JDK的安装 (4)2.0 Tomcat 的安装 (5)3.0 Eclipse 3.2 安装 (7)3.1 MyEclipse 的安装 (7)3.0.1 java jdk 的导入! (8)3.0.2Tomcat 的配制83.0.3 用MyEclipse 新建一个项目 (10)3.0.5 在应程序中使用Tomcat (10)4.0 登录——注册小实验! (12)4.0.1 新建一个项目 (12)4.0.2登录 (14)前台界面设计 (14)后台处理程序 (15)验证试验是否成功: (18)4.1.0 注册 (18)1.0 JDK的安装环境变量的设置set path =D:\Sun\j2sdk1.4.2_16;%paht%2.0 Tomcat 的安装设置安装路径设置用户名和密码选择你jdk 安的装的位置测试你的Tomcat 安装是否成功在IE 地址栏上输入:http://localhost:8080/如果不成功可以重复做一下!!3.0 Eclipse 3.2 安装Eclipse 放到你要想要放的位置就行了!!我放的是D:\Sun选择Workbeach 进入!3.1 MyEclipse 的安装MyEclipse是一个Exe安装文件,有安装向导,直接双击安装,选择完Eclipse 安装目录3.0.1 java jdk 的导入!File —> Properties —>Java Build Path3.0.2 Tomcat 的配制1.Window-﹥Preference…,2.MyEclipse-﹥Application Servers-﹥Tomcat 5JDK ?3.0.3 用MyEclipse 新建一个项目New —> Project —>MyEclipse —>Web Projecet3.0.5 在应程序中使用Tomcat选中WebTest工程的根目录,右键菜单MyEclipse-﹥Add and Remove Projects Deployments…,在打开的对话框中确保Projects为WebTest,点击Add按钮,在弹出对话框的Server中选择Tomcat !选中项目如:点击OK!!到此Java web开发环境配置成功!!!大家就来小试牛刀吧!4.0 登录——注册小实验!4.0.1 新建一个项目File —> New —>Project —>MyEclipse—>Web Project添加一个Jsp 右键webRoot : New—>JSP 名称MyJsp .jsp4.0.2登录前台界面设计代码如下:<%@ page contentType="text/html; charset=gb2312"language="java" import="java.sql.*" errorPage="" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN"><html><head><title>Register Test!</title></head><body> 登录界面!! <br><form method="post" action="cheklogin.jsp" name="form"> <table width="183" height="85" border="1"><tr><td>User:</td><td><input type="text" name="user" size="13"> </td></tr><tr><td>Password:</td><td><input type="Password" name="password" size="13" > </td></tr><tr><td><input type="Submit" name="bt1" text="OK" value="登录"></td><td><a href="do_register.jsp" target="_parent">新用户注册<br></a></td></tr></table></form></body></html>后台处理程序添加一个Jsp 右键webRoot : New—>JSP 名称cheklogin .jsp代码如下:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+req uest.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'cheklogin.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"><meta http-equiv="keywords"content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> <!--<link rel="stylesheet" type="text/css"href="styles.css">--></head><body><%String usr = request.getParameter("user");String pwd = request.getParameter("password");//String usr = "hurui";//String pwd = "free889";Connection con = null;Statement sm = null;ResultSet rs = null;try{Class.forName("rmix.jdbc.IfxDriver").newInstan ce(); //装载jdbc 驱动String url ="jdbc:informix-sqli://192.168.5.249:9003/testuser:informi xserver=iservice_online_net"; // 定义数据库连接URLcon =DriverManager.getConnection(url,"informix","informix"); //获取数据连接实例sm = con.createStatement(); //获取Statement 的实例rs = sm.executeQuery("select * from new_test_user where login='"+usr+"' and password='"+pwd+"'"); //执行查询语句,并返回给结果集}catch(Exception e){e.printStackTrace( );}//添加表格%><table border="1" width="80%"><tr><td>你的用户名是:</td><td>你的密码是:</td></tr><%while (rs.next()) { //循环输出产品信息String var_name=rs.getString(1);String var_val=rs.getString(2);%><tr><%if(usr == var_name || pwd ==var_val){System.out.println("success!");}%><td><%= var_name %></td><td><%= var_val %></td></tr><%}rs.close();sm.close();con.close();%></body></html>验证试验是否成功:输入:用户名:admin密码:111114.1.0 注册数据库:iservice_online_net表:new_test_user表结构:用户名对应字段: login密码对应字段: password<%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");String url="jdbc:odbc:Test";Connection con=DriverManager.getConnection(url,"sa"," ");if(!con.isClosed()){System.out.println("正确连接!");}else{System.out.println("连接不正确!");}con.close();%>当然也是可以不用到上面表字段就可以完成简单注册,是否使用,看你使用数据库的习惯!。
基于JSP的教务管理系统的设计与实现一、本文概述随着信息技术的飞速发展,教务管理作为学校日常运营的重要组成部分,正面临着从传统手工操作向数字化、智能化的转变。
教务管理系统作为学校信息化的重要体现,旨在提高教务工作的效率,优化资源配置,实现教学管理的现代化。
本文旨在探讨基于Java Server Pages(JSP)技术的教务管理系统的设计与实现。
JSP作为一种成熟的Web开发技术,具有跨平台、易扩展、性能稳定等优点,广泛应用于Web应用系统的开发中。
通过JSP技术,我们可以构建一个功能强大、界面友好的教务管理系统,实现课程管理、教师管理、学生管理、成绩管理等功能,提高教务工作的透明度和效率。
本文首先介绍教务管理系统的背景和意义,阐述采用JSP技术进行开发的可行性和优势。
接着,详细分析系统的需求,包括功能需求、性能需求和非功能需求。
然后,重点介绍系统的设计与实现过程,包括系统架构设计、数据库设计、主要功能模块的设计和实现等。
对系统进行测试,并对测试结果进行分析和总结。
通过本文的研究,我们期望能够为学校教务管理提供一套高效、稳定、易用的解决方案,推动学校信息化建设的进一步发展。
也为其他领域的Web应用系统开发提供一定的参考和借鉴。
二、系统需求分析教务管理系统作为学校日常运作的核心组成部分,其主要目标是提高教务工作的效率,实现教学资源的合理配置,以及提供便捷的信息查询和决策支持。
基于JSP的教务管理系统旨在通过Web技术,为教务人员、教师、学生和管理者提供一个统一的、交互式的操作平台。
系统需求分析是教务管理系统设计与实现过程中的关键步骤,它涉及到对系统功能的深入理解和细化。
教务管理系统需要支持课程管理,包括课程信息的录入、修改、查询和删除等功能,以满足教务人员对课程信息的日常维护需求。
学生信息管理也是必不可少的,系统需要能够处理学生的基本信息、成绩信息、考勤信息等,以便为学生提供个性化的学习支持。
另外,考试管理也是教务管理系统的重要功能之一。
java学生信息管理系统项目总结(一)前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。
这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。
正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。
•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。
系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。
•搭建了数据库,设计了学生信息表和关联的表结构,保证了数据的存储和查询效率。
技术选型与开发实践•选择了Java作为开发语言,利用Java的面向对象特性进行系统的设计和开发。
•使用了Java Swing作为前端界面库,实现了用户友好的界面和操作。
•利用JDBC技术完成了与数据库的连接和数据的增删改查操作。
•运用了异常处理机制,提高了系统的容错性和健壮性。
测试与优化•对系统进行了全面的测试,包括单元测试、集成测试和系统测试,确保系统的稳定性和可靠性。
•根据测试结果,对系统进行了优化和改进,提高了系统的性能和用户体验。
结尾通过这个项目,我不仅巩固了Java编程的基础知识,还学到了很多实践经验。
在开发过程中,遇到了很多问题,但通过不断的学习和尝试,我都克服了这些困难。
通过本次项目,我也提高了自己的项目管理能力和团队合作能力。
希望以后能继续不断学习和锻炼,提高自己的技术水平。
前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。
这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。
正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。
•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。
系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。
JSP学⽣信息管理系统本⽂实例为⼤家分享了JSP学⽣信息管理系统源码,JSP+Servlet+Javabean+JDBC+MySQL,供⼤家参考,具体内容如下1.service层,进⾏数据库操作package com.service;/*** 负责学⽣信息的所有数据库操作,增删改查*/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.model.stuInfo;public class stuInfoService {private Connection conn;private PreparedStatement pstmt;//执⾏sql语句public stuInfoService() {conn = new com.conn.conn().getCon();}public boolean addStu(stuInfo stu) {//插⼊学⽣数据try {pstmt = conn.prepareStatement("insert into studentinfo"+ "(Nickname,truename,sex,birthday,major,course,interest,remark) "+ "values(?,?,?,?,?,?,?,?)");pstmt.setString(1, stu.getNickname());pstmt.setString(2, stu.getTruename());pstmt.setByte(3, stu.getSex());pstmt.setString(4, stu.getbirthday());pstmt.setString(5, stu.getmajor());pstmt.setString(6, stu.getcourses());pstmt.setString(7, stu.getinterests());pstmt.setString(8, stu.getremark());pstmt.executeUpdate();return true;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();return false;}}//查询所哟学⽣信息public List<stuInfo> queryAllStu() {//查询学⽣数据List<stuInfo> stus = new ArrayList<stuInfo>();//每⼀个学⽣的信息作为list集合的每⼀个元素存储在list集合中try {pstmt = conn.prepareStatement("select * from studentinfo");ResultSet rs = pstmt.executeQuery();while (rs.next()) {stuInfo stu = new stuInfo();stu.setId(rs.getInt(1));stu.setNickname(rs.getString(2));stu.setTruename(rs.getString(3));stu.setSex(rs.getByte(4));if (rs.getDate(5) != null)stu.setbirthday(rs.getDate(5).toString());stu.setmajor(rs.getString(6));if (rs.getString(7) != null)stu.setcourse(rs.getString(7).split("&"));if (rs.getString(8) != null)stu.setinterest(rs.getString(8).split("&"));stu.setremark(rs.getString(9));stus.add(stu);return stus;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();return null;}}//查询单个学⽣信息public stuInfo queryStubyID(int id) {// List stus = new ArrayList();try {pstmt = conn.prepareStatement("select * from studentinfo where id=?");pstmt.setInt(1, id);ResultSet rs = pstmt.executeQuery();if (rs.next()) {stuInfo stu = new stuInfo();stu.setId(rs.getInt(1));stu.setNickname(rs.getString(2));stu.setTruename(rs.getString(3));stu.setSex(rs.getByte(4));if (rs.getDate(5) != null)stu.setbirthday(rs.getDate(5).toString());stu.setmajor(rs.getString(6));if (rs.getString(7) != null)stu.setcourse(rs.getString(7).split("&"));if (rs.getString(8) != null)stu.setinterest(rs.getString(8).split("&"));stu.setremark(rs.getString(9));// stus.add(stu);return stu;}return null;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();return null;}}//更新学⽣信息public boolean updateStu(stuInfo stu) {try {pstmt = conn.prepareStatement("update studentinfo set Nickname=? , truename=? , sex=? ,birthday=? ," + " major=? ,course=? , interest=?, remark=? where id=?");pstmt.setString(1, stu.getNickname());pstmt.setString(2, stu.getTruename());pstmt.setByte(3, stu.getSex());pstmt.setString(4, stu.getbirthday());pstmt.setString(5, stu.getmajor());pstmt.setString(6, stu.getcourses());pstmt.setString(7, stu.getinterests());pstmt.setString(8, stu.getremark());pstmt.setInt(9, stu.getId());pstmt.executeUpdate();return true;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();return false;}}//删除学⽣信息public Boolean deleteStu(int id) {try {pstmt = conn.prepareStatement("delete from studentinfo where id=?");pstmt.setInt(1, id);pstmt.executeUpdate();} catch (Exception e) {e.getStackTrace();return false;}}}2.InputStuInfoServlet,添加学⽣信息的Servletpackage com.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.model.stuInfo;import com.service.stuInfoService;public class inputStuInfoServlet extends HttpServlet {/*** Constructor of the object.*/public inputStuInfoServlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post. ** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");//get到表单所有的控件的值String nickname=request.getParameter("nickname");String truename=request.getParameter("truename");byte sex=Byte.parseByte(request.getParameter("sex"));String birthday=request.getParameter("birthday");String major=request.getParameter("major");//String course=request.getParameter("course");String courses[]=request.getParameterValues("course");String interests[]=request.getParameterValues("interest");String remark=request.getParameter("remark");//放到Javabean中暂时保存stuInfo stu=new stuInfo();stu.setNickname(nickname);stu.setTruename(truename);stu.setbirthday(birthday);if(birthday.equals(""))stu.setbirthday(null);if(courses!=null)stu.setcourse(courses);if(interests!=null)stu.setinterest(interests);stu.setremark(remark);stu.setmajor(major);stu.setSex(sex);if(new stuInfoService().addStu(stu))//插⼊学⽣数据的⽅法response.sendRedirect("../inputStuInfo_success.jsp");elseresponse.sendRedirect("../inputStuInfo.jsp");//插⼊数据库失败则返回初始输⼊页⾯ }/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}3.stuInfo,保存学⽣信息的Javabeanpackage com.model;//Javabean相当于是⼀个中间件,⽤于类与类之间,各层之间的中转数据的⼀个中转站public class stuInfo {private int id;private String nickname;private String truename;private byte sex;private String birthday;private String major;private String[] course = { "" };private String courses = "";private String[] interest = { "" };private String interests = "";private String remark;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getTruename() {return truename;}public void setTruename(String truename) {this.truename = truename;}public byte getSex() {return sex;}public void setSex(byte sex) {}public String getbirthday() {return birthday;}public void setbirthday(String birthday) {this.birthday = birthday;}public String getmajor() {return major;}public void setmajor(String major) {this.major = major;}public String[] getcourse() {return course;}public void setcourse(String[] course) {this.course = course;}public String getcourses() {if(course!=null){courses="";for(int i=0;i<course.length;i++)courses+=course[i]+"&";}courses=courses.substring(0,courses.length()-1);return courses;}public void setcourses(String courses) {this.courses = courses;}public String[] getinterest() {return interest;}public void setinterest(String[] interest) {this.interest = interest;}public String getinterests() {if(interest!=null){interests="";for(int i=0;i<interest.length;i++)interests+=interest[i]+"&";}interests=interests.substring(0,interests.length()-1);return interests;}public void setinterests(String interests) {this.interests = interests;}public String getremark() {return remark;}public void setremark(String remark) {this.remark = remark;}}4.DB connect 类package com.conn;import java.sql.Connection;import java.sql.DriverManager;public class conn {public Connection getCon() {try {Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost/Stu_info_System?useUnicode=true&characterEncoding=utf-8"; String user = "root";String password = "root";Connection conn = DriverManager.getConnection(url, user, password);System.out.println(conn.getMetaData().getURL());} catch (Exception e) {e.printStackTrace();return null;}}}源码下载:以上就是本⽂的全部内容,希望对⼤家学习JSP管理系统有所帮助。
学生信息管理系统JSP版(Eclipse)1、新建new->Dynamic Web Project->名字为StudentJSP。
2、准备工作1)编写JSP测试文件,名称为hello.jsp修改hello.jsp的charset为UTF-8加入代码:<body>Hello!</body>代码:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding=" UTF-8"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Insert title here</title></head><body>Hello!</body></html>附:修改默认字符集步骤:Windows->Preference->Web->JSPfiles->将Encoding改为UTF-82)右击项目->Properties->Resurce->修改字符集为UTF-8.3)右击项目->Properties->Java Build Path改为如图(需先在WEB-INF下新建classes)4)将MySQL中一个jar包复制到/WEB-INF/lib下,如图:3、在/WebContent下new一个JSPfile,名字为display0.jsp代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%> //(注意要引入sql的包)<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%String connStr ="jdbc:mysql://localhost:3306/yStudent?characterEncoding=utf8";Connection conn = null;Statement stmt = null;ResultSet rs;try {Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection(connStr, "root", "123456");stmt = conn.createStatement();} catch (Exception ex) {ex.printStackTrace();System.out.println("exception in getConnection");}String sql = "select * from studentinfo"; //表明为studentinfotry {rs = stmt.executeQuery(sql);%><table align=center width=600border=1><tr><th>编号</th><th>姓名</th><th>年龄</th></tr><%while (rs.next()) { %><tr><td><%= rs.getString("id")%></td><td><%= rs.getString("name")%></td><td><%= rs.getInt("age") %></td></tr><%} %></table><%stmt.close();conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}%>%></body></html>4、在项目下新建一个文件夹DataBase,将用到的学生数据库脚本文件复制到此目录下5、启动mysql,Tomcat],运行测试display0.6、改进版本display11)将display0.jsp复制粘贴到本项目的/WebCont下并修改命名为display1.jsp2)在/src下new一个新包,包名为com.ls.student.bean并在此包下新建两个新类来处理SQL的Helper。
SQLHelper.java代码如下:package com.ls.student.bean;import java.sql.*; //引入sql相关包public class SQLHelper {private String driverStr = "com.mysql.jdbc.Driver";private String connStr ="jdbc:mysql://localhost:3306/yStudent?characterEncoding=utf8";private String dbusername = "root";private String dbpassword = "123456";private Connection conn = null;private Statement stmt = null;public SQLHelper() {try {Class.forName(driverStr);conn = DriverManager.getConnection(connStr, dbusername, dbpassword);stmt = conn.createStatement();} catch (Exception ex) {System.out.println("exception in SQLHelper");}}public int executeUpdate(String sql) {int result = 0;try {result = stmt.executeUpdate(sql);} catch (Exception ex) {System.out.println("Exception in executeUpdate");}return result;}public ResultSet executeQuery(String sql) {ResultSet rs = null;try {rs = stmt.executeQuery(sql);if(!rs.next()) return null;rs.previous();} catch (Exception ex) {System.out.println("Exception in executeQuery");}return rs;}public void close() {try {stmt.close();conn.close();} catch (Exception e) {}}}在此包下新建student类,代码如下package com.ls.student.bean;public class student {private String id,name;private int age;public student() {super();}public student(String id, String name, int age) {super();this.id = id; = name;this.age = age;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return"Student [id=" + id + ", name=" + name + ", age=" + age + "]";}}3)display1.jsp代码修改如下:注意先引入java.sql.*包和com.ls.student.bean包主要代码修改为<body></body>内的修改,代码如下:<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*;import com.ls.student.bean.*"%> //引入包<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%SQLHelper db= new SQLHelper();String sql = "select * from studentinfo";ResultSet rs = db.executeQuery(sql);%><table align=center width=600border=1><tr><th>编号</th><th>姓名</th><th>年龄</th><th>操作</th></tr> <%while (rs.next()) { %><tr><td><%= rs.getString("id")%></td><td><%= rs.getString("name")%></td><td><%= rs.getInt("age") %></td><td><div align=center><ahref="update.jsp?id=<%=rs.getString("id") %>">修改</a> <a href="delete.jsp?id=<%=rs.getString("id") %>">删除</a></div></td></tr><%} %></table><% db.close();%></body></html>7、实现增加功能新建insert.jsp文件<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>Insert student</title></head><body><%@include file="head.jsp"%><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");int age=Integer.parseInt(request.getParameter("age"));String sql="insert into studentinfo values('"+id+"','"+ name+"',"+ age+")";Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();int result= stmt.executeUpdate(sql);if(result>0)o ut.println("添加记录成功!");else out.println("添加记录失败!");stmt.close();conn.close();%></body></html>以及插入的html显示页面,代码:<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Insert title here</title></head><body><div align="center"><h2><strong>请输入学生信息</strong></h2></div><form method="post"action="insert.jsp"><table width="200"border="0"align="center"><tr><td>学号</td><td><input type="text"name="id"id="id"/></td></tr><tr><td>姓名</td><td><input type="text"name="name"id="name"/></td></tr><tr><td>年龄</td><td><input type="text"name="age"id="age"/></td></tr><tr><td><input type="submit"value="提交"/></td><td align="center"><input type="reset"value="重置"/></td> </tr></table></form></body></html>9、删除实现,delete.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>delete student</title></head><body><%@include file="head.jsp"%><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String sql="delete from studentinfo where id='"+id+"'";Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();int result= stmt.executeUpdate(sql);if(result>0)o ut.println("删除记录成功!");else out.println("删除记录失败!");stmt.close();conn.close();%></body></html>10、查找query.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>query result</title></head><body><%@include file="head.jsp"%>request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");String minAge=request.getParameter("minAge");String maxAge=request.getParameter("maxAge");String sql="select * from studentinfo where true ";if(!id.isEmpty())s ql += " and id='"+ id+"'";if(!name.isEmpty())s ql += " and name='"+ name+"'";if(!minAge.isEmpty())s ql += " and age>="+ minAge;if(!maxAge.isEmpty())s ql += " and age<="+ maxAge;Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();ResultSet rs= stmt.executeQuery(sql);%><table align="center"border="1"width="600"><tr><th bgcolor=#cccccc>编号</th><th>姓名</th><th>年龄</th><th>操作</th></tr><%while (rs.next()) {%><tr><td><%=rs.getString("id") %></td><td><%=rs.getString("name") %></td><td><%=rs.getInt("age") %></td><td><div align=center><ahref="update.jsp?id=<%=rs.getString("id") %>">修改</a> <a href="delete.jsp?id=<%=rs.getString("id") %>">删除</a></div></td></tr><% }rs.close();stmt.close();conn.close();%></table></body></html>Query的html页面:<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>Insert title here</title></head><body><div align="center"><h2><strong>请输入查询条件</strong></h2></div><form method="post"action="query.jsp"><table width="200"border="0"align="center"><tr><td>学号</td><td><input type="text"name="id"id="id"/></td></tr><tr><td>姓名</td><td><input type="text"name="name"id="name"/></td></tr><tr><td>最小年龄</td><td><input type="text"name="minAge"id="class"/></td></tr><tr><td>最大年龄</td><td><input type="text"name="maxAge"id="age"/></td></tr><tr><td><input type="submit"value="提交"/></td><td align="center"><input type="reset"value="重置"/></td> </tr></table></form></body></html>11、查询的query.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>query result</title></head><body><%@include file="head.jsp"%><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");String minAge=request.getParameter("minAge");String maxAge=request.getParameter("maxAge");String sql="select * from studentinfo where true ";if(!id.isEmpty())s ql += " and id='"+ id+"'";if(!name.isEmpty())s ql += " and name='"+ name+"'";if(!minAge.isEmpty())s ql += " and age>="+ minAge;if(!maxAge.isEmpty())s ql += " and age<="+ maxAge;Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();ResultSet rs= stmt.executeQuery(sql);%><table align="center"border="1"width="600"><tr><th bgcolor=#cccccc>编号</th><th>姓名</th><th>年龄</th><th>操作</th></tr><%while (rs.next()) {%><tr><td><%=rs.getString("id") %></td><td><%=rs.getString("name") %></td><td><%=rs.getInt("age") %></td><td><div align=center><ahref="update.jsp?id=<%=rs.getString("id") %>">修改</a> <a href="delete.jsp?id=<%=rs.getString("id") %>">删除</a></div></td></tr><% }rs.close();stmt.close();conn.close();%></table></body></html>12、修改的update.jsp,<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>update the result</title></head><body><%@include file="head.jsp"%><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");// String className=request.getParameter("class");int age=Integer.parseInt(request.getParameter("age"));String sql="update studentinfo set name='"+ name+"',age="+ age;Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();int result= stmt.executeUpdate(sql);if(result>0)o ut.println("更新记录成功!");else out.println("更新记录失败!");stmt.close();conn.close();%></body></html>以及update1.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@page import="java.sql.*"%><!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>update the result</title></head><body><%@include file="head.jsp"%><%request.setCharacterEncoding("UTF-8");String id=request.getParameter("id");String name=request.getParameter("name");// String className=request.getParameter("class");int age=Integer.parseInt(request.getParameter("age"));String sql="update studentinfo set name='"+ name+"',age="+ age;Class.forName("com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student" ,"ro ot","123456");Statement stmt= conn.createStatement();int result= stmt.executeUpdate(sql);if(result>0)o ut.println("更新记录成功!");else out.println("更新记录失败!");stmt.close();conn.close();%></body></html>12、head.jsp<%@page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><div align="center"style="height:120px;background-image:url('images/gxu.jpg');"></div><hr><div align="center"style="height:30;background-color:#ccc;border:solid;color:red;"><a href="insert.html">增加记录</a><a href="query.html">查询记录</a></div><hr>13、footer.jsp<TABLE align="center"id="bottom"cellSpacing=0cellPadding=0height="50" border=0width="100%"bgcolor="f5f5f5"style="border-top:#068500 solid 0px;"> <TR><TD style="font-family:宋体;font-size:12px;color:#002200"align="center">Copyright © 2011 - 2012 <A style="vertical-align:middle;font-size:12px;color:#002200"href="/">数学与信息科学学院</A> All Rights Reserved</TD></TR></TABLE>测试:测试Hello页面:Display0.jsp(测试文件):Display1.jsp。