化妆品网站建设目标,做网站公司汉狮,网站做好了 怎么做解析,html动漫网站模板下载一、学生信息管理系统SIMS
一款基于纯Servlet技术开发的学生信息管理系统#xff08;SIMS#xff09;#xff0c;在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息#xff0c;实现了信息的有效存储、检索和更新#xf…一、学生信息管理系统SIMS
一款基于纯Servlet技术开发的学生信息管理系统SIMS在设计中没有采用SpringMVC和Spring Boot等框架。系统完全依赖于Servlet来处理HTTP请求和管理学生信息实现了信息的有效存储、检索和更新为教育管理提供了一种轻量级的解决方案。
二、项目简介
为了更好地满足教学信息管理的需求以及对学生和老师信息的有效管理学生信息管理系统应运而生。该系统通过在线平台提供信息管理服务以实现对数据的高效处理。这不仅方便了对学生和教师各类信息的管理还支持大数据分析从而更好地了解和优化教育过程。
三、技术栈
JspServletLayuiDruidJDBC-TemplateJQueryJsAjaxJsonEL/JSTLBeanUtils
服务器 Tomcat_8.5.53
数据库 MySQL_5.6.46
开发工具IDEA_2019.1.3
界面制作Layui
三 、项目使用说明 导入结构和数据sims.sql 解压下载zip重命名sims-master文件夹为simsIDEA打开该sims项目 修改配置数据库连接文件druid.properties 管理员 帐号admin 密码admin 学生 帐号1812123206 密码123 老师 帐号9912123206 密码123
四、 功能描述 五、数据库设计 admin表
存储管理员信息包括管理员IDa_id和密码a_password。 示例数据一条管理员记录ID为’admin’密码为’admin’。 college_department_class表
存储学院、专业和班级信息。 示例数据包括应用数学学院、软件工程学院等不同学院的专业和班级信息。 complaint表
记录学生的投诉信息包括投诉IDid、投诉日期cdate和投诉内容content。 示例数据包括不同日期和内容的投诉记录。 course表
存储课程信息包括课程IDc_id、课程名称c_name、教师IDt_id和课程信息c_info。 示例数据包括不同课程和教师的记录。 notify表
记录系统通知信息包括通知IDid、通知日期notifyDate和通知内容notifyInfo。 示例数据包括不同日期和内容的通知记录。 photo表
存储学生照片信息包括照片IDphoto_id和照片名称photo_name。 示例数据包括不同学生的照片记录。 select_course表
记录学生选课信息包括学生IDs_id、课程IDc_id和分数score。 示例数据包括不同学生选择的课程和分数记录。 student表
存储学生信息包括学生IDs_id、学院、专业、班级、姓名、性别、年龄、地址、电话、邮箱和密码。 示例数据包括不同学生的个人信息。 teacher表
存储教师信息包括教师IDt_id、姓名、性别、学历、职称和密码。
六、代码结构 七、功能实现部分截图 八、代码
login.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
html langen
headmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedge,chrome1meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale1title登录页/titlelink relstylesheet href./css/layui.csslink relstylesheet href./css/modules/layer/default/layer.csslink relstylesheet href./css/login.csslink relstylesheet href./css/style.csslink relshortcut icon href./images/favicon.ico typeimage/x-icon /script srchttps://cdn.bootcss.com/jquery/3.2.1/jquery.min.js/scriptstyle typetext/css/style
/head
body
div classframe-maindiv classlogin-mainheader classlayui-elip学生信息管理系统/headerform classlayui-form action nameformf methodpostdiv classlayui-input-inlinelabel classlayadmin-user-login-icon layui-icon layui-icon-username/labelinput typetext nameid idid value${loginid} required lay-verifyrequired placeholder用户名(学号或工号) autocompleteoffclasslayui-input/divdiv classlayui-input-inlinelabel classlayadmin-user-login-icon layui-icon layui-icon-password/labelinput typepassword value${loginpassword} idpassword namepassword required lay-verifyrequired placeholder密码 autocompleteoffclasslayui-input/divdiv classlayui-input-inline stylewidth: 56%; margin-bottom: 0px;label classlayadmin-user-login-icon layui-icon layui-icon-vercode/labelinput typepassword nameverifycode idcode required lay-verifyrequired placeholder验证码 autocompleteoffclasslayui-input/diva hrefjavascript:refreshCode()img stylepadding-left: 14px; src${pageContext.request.contextPath}/checkCodeServlet title刷新验证码 idvcode draggablefalse/adiv stylepadding-left: 54px;padding-bottom: 6px;input typeradio nameroles valuestudent title学生 checkedinput typeradio nameroles valueteacher title老师input typeradio nameroles valueadmin title管理员/divdiv classlayui-input-inline login-btnbutton typebutton onclicka() lay-submit lay-filterlogin classlayui-btn idlogin namesubmit-login登录/button/divhr/!--div classlayui-input-inlinebutton typebutton classlayui-btn layui-btn-primaryQQ登录/button/divdiv classlayui-input-inlinebutton typebutton classlayui-btn layui-btn-normal微信登录/button/div--pa hrefregister.jsp classfl立即注册/adiv classtooltipspan classtooltiptext${login_msg}/span/diva hrefforget.jsp classfr忘记密码/a/p/form/div
/div
footer styleposition:absolute;bottom:0;width:100%;height:30px; text-align: center;© 2018-2019.YOYLING.COM/footer
script srclayui.js/script
script src./lay/modules/layer.js/scriptscript typetext/javascriptfunction refreshCode() {var vcode document.getElementById(vcode);vcode.src ${pageContext.request.contextPath}/checkCodeServlet?timenew Date().getTime();}
/script
script typetext/javascriptlayui.use(form,function(){var form layui.form;//刷新界面 所有元素form.render();});
/scriptscript typetext/javascript// $(#login).on(click, function(){function a() {var num document.getElementsByName(roles);var checked_value student;for (var i 0; i num.length; i) {var radio num[i];if (radio.checked) {checked_value radio.value;}}var id document.getElementById(id).value;var password document.getElementById(password).value;var verifycode document.getElementById(code).value;if (id || password || verifycode) {return;}else {if (checked_valuestudent) {document.formf.action${pageContext.request.contextPath}/loginServlet?rolesstudent;document.formf.submit();}else if (checked_valueteacher) {document.formf.action${pageContext.request.contextPath}/loginServlet?rolesteacher;document.formf.submit();}else {document.formf.action${pageContext.request.contextPath}/loginServlet?rolesadmin;document.formf.submit();}}}
/script
/body
/htmlregister.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
html langen
headmeta charsetUTF-8meta namerenderer contentwebkitmeta http-equivX-UA-Compatible contentIEedge,chrome1meta nameviewport contentwidthdevice-width, initial-scale1, maximum-scale1title注册页/titlelink relstylesheet href./css/layui.csslink relstylesheet href./css/style.csslink relstylesheet href./css/login.csslink relshortcut icon href./images/favicon.ico typeimage/x-icon /
/head
body
div classframe-maindiv classlogin-mainheader classlayui-elip学生信息管理系统/header!-- 表单选项 --form classlayui-form idregisterForm action${pageContext.request.contextPath}/registerServlet methodpostdiv classlayui-input-inline!-- 用户名 --div classlayui-inline stylewidth: 100%label classlayadmin-user-login-icon layui-icon layui-icon-username/labelinput typetext iduser value${studentid} namestudentid required lay-verifyrequired placeholder请输入学号 autocompleteoff classlayui-input/div/div!-- 密码 --div classlayui-input-inlinediv classlayui-inline stylewidth: 100%label classlayadmin-user-login-icon layui-icon layui-icon-password/labelinput typepassword idpwd value${password} namepassword required lay-verifyrequired placeholder请输入密码 autocompleteoff classlayui-input/div/div!-- 确认密码 --div classlayui-input-inlinediv classlayui-inline stylewidth: 100%label classlayadmin-user-login-icon layui-icon layui-icon-password/labelinput typepassword idrpwd value${repassword} namerepassword required lay-verifyrequired placeholder请确认密码 autocompleteoff classlayui-input/div/divdiv classlayui-input-inline stylewidth: 56%;label classlayadmin-user-login-icon layui-icon layui-icon-vercode/labelinput typepassword idverifycode nameverifycode required lay-verifyrequired placeholder验证码 autocompleteoffclasslayui-input/diva hrefjavascript:refreshCode()img stylepadding-left: 14px; margin-top: -15px; src${pageContext.request.contextPath}/checkCodeServlet title刷新验证码 idvcode draggablefalse/adiv classlayui-input-inline login-btn stylewidth: 100%button typesubmit lay-submit lay-filtersub classlayui-btn注册/button/divhr stylewidth: 100% /p stylewidth: 100%a hreflogin.jsp classfl立即登录/adiv classtooltipspan classtooltiptext${msg}/span/diva hrefforget.jsp classfr忘记密码/a/pi classlayui-icon idri stylecolor: green;font-weight: bolder; position: relative; left: 200px; top: -265px; hidden/ii classlayui-icon idwr stylecolor: red; font-weight: bolder; position: relative; left: 200px; top: -265px; hiddenဆ/ii classlayui-icon idpri stylecolor: green;font-weight: bolder; position: relative; left: 180px; top: -213px; hidden/ii classlayui-icon idpwr stylecolor: red; font-weight: bolder; position: relative; left: 180px; top: -213px; hiddenဆ/ii classlayui-icon idrpri stylecolor: green;font-weight: bolder; position: relative; left: 160px; top: -160px; hidden/ii classlayui-icon idrpwr stylecolor: red; font-weight: bolder; position: relative; left: 160px; top: -160px; hiddenဆ/i/form/divspan ids_id/span
/div
footer styleposition:absolute;bottom:0;width:100%;height:30px; text-align: center;© 2018-2019.YOYLING.COM/footerscript srclayui.js/script
script typetext/javascriptfunction refreshCode() {var vcode document.getElementById(vcode);vcode.src ${pageContext.request.contextPath}/checkCodeServlet?timenew Date().getTime();}
/script
script typetext/javascriptlayui.use([form,jquery,layer], function () {var form layui.form;var $ layui.jquery;var layer layui.layer;//添加表单失焦事件//验证表单$(#user).blur(function() {var studentid $(this).val();$.get(findStudentServlet,{studentid:studentid},function (data) {if (data.studentExsit) {$(#wr).removeAttr(hidden);$(#ri).attr(hidden,hidden);layer.open({title: 错误,content: data.msg,icon: 2});$(#user).val();} else {}});});// 为密码添加正则验证$(#pwd).blur(function() {var reg /^[\w]{3,12}$/;if(!($(#pwd).val().match(reg))){//layer.msg(请输入合法密码);$(#pwr).removeAttr(hidden);$(#pri).attr(hidden,hidden);layer.msg(请输入3-6位合法密码);$(#pwd).val();}else {$(#pri).removeAttr(hidden);$(#pwr).attr(hidden,hidden);}});$(#user).blur(function() {var reg /^[0-9]{10}$/;if(!($(#user).val().match(reg))){//layer.msg(请输入合法密码);$(#wr).removeAttr(hidden);$(#ri).attr(hidden,hidden);layer.msg(请输入10位数字学号);$(#user).val();}else {$(#ri).removeAttr(hidden);$(#wr).attr(hidden,hidden);}});//验证两次密码是否一致$(#rpwd).blur(function() {if($(#pwd).val() ! $(#rpwd).val() || $(#rpwd).val() || $(#pwd).val()){$(#rpwr).removeAttr(hidden);$(#rpri).attr(hidden,hidden);// layer.msg(两次输入密码不一致!);$(#rpwd).val();}else{$(#rpri).removeAttr(hidden);$(#rpwr).attr(hidden,hidden);};});});
/script
/body
/htmlmessage.jsp
% page contentTypetext/html;charsetUTF-8 languagejava %
% page importjava.io.*,java.util.*,javax.servlet.*,javax.servlet.http.* %
% page importjava.rmi.ServerException %
% page importjava.nio.charset.Charset %
% page importjava.nio.charset.StandardCharsets %
html
headtitle/title
/head
body
%//定义上传文件的最大字节int MAX_SIZE 102400 * 102400;//创建根路径的保存变量String rootPath;//声明文件读入类DataInputStream in null;FileOutputStream fileOut null;//取得互联网程序的绝对地址String realPath request.getSession().getServletContext().getRealPath(/);realPath realPath.substring(0, realPath.indexOf(\\out));
// out.print(realPath);//创建文件的保存目录rootPath realPath \\web\\upload\\;//取得客户端上传的数据类型String contentType request.getContentType();try {if (contentType.indexOf(multipart/form-data) 0) {//读入上传数据in new DataInputStream(request.getInputStream());int formDataLength request.getContentLength();if (formDataLength MAX_SIZE) {out.print(上传的字节不可以超过 MAX_SIZE 字节);return;}//保存上传文件的数据byte dataBytes[] new byte[formDataLength];int byteRead 0;int totalBytesRead 0;//上传的数据保存在byte数组里面while (totalBytesRead formDataLength) {byteRead in.read(dataBytes, totalBytesRead, formDataLength);totalBytesRead byteRead;}//根据byte数组创建字符串String file new String(dataBytes, StandardCharsets.UTF_8);//取得上传数据的文件名String saveFile file.substring(file.indexOf(filename\) 10);saveFile saveFile.substring(0, saveFile.indexOf(\n));saveFile saveFile.substring(saveFile.lastIndexOf(\\) 1, saveFile.indexOf(\));int lastIndex contentType.lastIndexOf();//取得数据的分隔字符串String boundary contentType.substring(lastIndex 1, contentType.length());//创建保存路径的文件名String fileName rootPath saveFile;int pos;pos file.indexOf(filename \);pos file.indexOf(\n, pos) 1;pos file.indexOf(\n, pos) 1;pos file.indexOf(\n, pos) 1;int boundaryLocation file.indexOf(boundary, pos) - 4;//取得文件数据的开始的位置int startPos ((file.substring(0, pos)).getBytes()).length;int endPos ((file.substring(0, boundaryLocation)).getBytes()).length;File checkFile new File(fileName);if (checkFile.exists()) {out.println(p saveFile 文件已经存在./p);return;}//检查上传文件的目录是否存在File fileDir new File(rootPath);if (!fileDir.exists()) {fileDir.mkdirs();}//创建文件的输出类fileOut new FileOutputStream(fileName);//保存文件的数据fileOut.write(dataBytes, startPos, (endPos - startPos));fileOut.close();out.print(b文件上传成功/b);} else {String content request.getContentType();out.print(上传的文件类型是 content 类型的请上传目录mutipart/form-data类型的文件);}} catch (Exception ex) {throw new ServerException(ex.getMessage());}
%
/body
/html九、联系与交流
扣969060742 完整代码 sql 程序资源