基于javaweb的SSM精品开放课程教学网站的开发与实现(包含视频在线课程\作业上传下载批改\留言\自测\题库+教师学生管理员三种权限)

news/2024/5/12 17:44:42/文章来源:https://blog.csdn.net/qq_52311762/article/details/109734615

目录

0、效果展示

1、精品课程教学平台概述

2、精品课程教学平台搭建环境

3、项目代码规划结构

 ​5、后端代码示例

6、前端代码示例

 


 

0、效果展示

前台学生和教师界面

 

后台管理员界面

 

1、精品课程教学平台概述
 

在线教育分为四阶段:

第一阶段 通过网站学生提供课程资料一般体现为上传下载方式;


第二阶段 同样通过网站,除了第一阶段内容外,还可通过电子邮件、公告栏、网上题库、留言板、在线答疑实现双向异步沟通交流学习;

第三阶段 在第一阶段和第二阶段网站基础上,可以通过手机APP、微信群、视频会议等多种形式, 进行同步双向实时交流学习。

第四阶段 由于新冠肺炎疫情影响下的在线直播课程,更是将互联网与线上教学与评价推向了新的高度

 

2、精品课程教学平台搭建环境

本文以实现一个线上精品课程教学课程为目标,从环境搭建到编码实现全过程讲述

主要实现目标

教师端在线发布上传课程资料,发布课程作业,批阅作业,发布在线测试题库

学生端在线学习课程,并下载资料,可在线测试,在线上传作业

管理员管理里学生和教师用户,以及审核相关的课程资料和留言互动信息

 

我们使用javaweb、J2EE来构建精品课程教学平台,环境使用最新版jdk和tomcat,配合mysql数据库

开发工具使用idea(也可以使用eclipse),数据库管理工具使用Navicat Premium 

开发框架使用JavaBean Servlet MVC结构;

没有使用SSH(Struts+Spring+Hibernate)或SSM(Spring+SpringMVC+MyBatis),这两个框架我们在别的项目中再介绍开发过程

 

在项目中会引入My97DatePicker作为前端日期时间选择工具,使用fckeditor作为富媒体编辑器(也可以使用百度的ueditor)

 

 

使用DWR(Direct Web Remoting)用于改善web页面与Java类交互,实现远程服务器端AJAX读取登录数据。

使用JSTL(Java server pages standarded tag library,即JSP标准标签库),此库是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

 

3、项目代码规划结构


 
 

SRC目录为后端JAVA代码,分别包含action控制逻辑(以实体分文件命名),   dao数据库连接代码,    orm实体,service,util常用代码包含编码转换,md5加密等

webroot目录为前端代码按角色划分文件命名:admin包含管理员功能代码,qiantai包含学生和教师功能代码,

 

5、后端代码示例

adminaction.java管理员控制代码

package com.action;import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.dao.DB;
import com.orm.TAdmin;public class admin_servlet extends HttpServlet
{public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException {String type=req.getParameter("type");if(type.endsWith("adminMana")){adminMana(req, res);}if(type.endsWith("adminAdd")){adminAdd(req, res);}if(type.endsWith("adminDel")){adminDel(req, res);}if(type.endsWith("adminedit")){adminedit(req, res);}if(type.endsWith("adminsaveedit")){adminsaveedit(req, res);}}//管理员管理public void adminMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{List adminList=new ArrayList();String sql="select * from t_admin";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TAdmin admin=new TAdmin();admin.setUserId(rs.getInt("userId"));admin.setUserName(rs.getString("userName"));admin.setUserPw(rs.getString("userPw"));adminList.add(admin);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();req.setAttribute("adminList", adminList);req.getRequestDispatcher("admin/admin/adminMana.jsp").forward(req, res);}//管理员显示编辑页面public void adminedit(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{System.out.println(req.getParameter("userId")+"**");List adminList=new ArrayList();String sql="select * from t_admin where userId="+Integer.parseInt(req.getParameter("userId"));Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TAdmin admin=new TAdmin();admin.setUserId(rs.getInt("userId"));admin.setUserName(rs.getString("userName"));admin.setUserPw(rs.getString("userPw"));adminList.add(admin);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();req.setAttribute("adminList", adminList);req.getRequestDispatcher("admin/admin/adminedit.jsp").forward(req, res);}//管理员保存添加的内容 public void adminAdd(HttpServletRequest req,HttpServletResponse res){String userName=req.getParameter("userName");String userPw=req.getParameter("userPw");String sql="insert into t_admin values(?,?,?)";Object[] params={null,userName,userPw};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "admin?type=adminMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}//管理员删除public void adminDel(HttpServletRequest req,HttpServletResponse res){System.out.println(req.getParameter("userId")+"**");String sql="delete from t_admin where userId="+Integer.parseInt(req.getParameter("userId"));Object[] params={};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "admin?type=adminMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}//管理员保存编辑的内容 public void adminsaveedit(HttpServletRequest req,HttpServletResponse res){String sql="update t_admin set username='"+req.getParameter("userName")+"' where userid="+Integer.parseInt(req.getParameter("userId"));Object[] params={};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "admin?type=adminMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response) {RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);try {dispatch.forward(request, response);return;} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void init(ServletConfig config) throws ServletException {super.init(config);}public void destroy() {}
}

 

db.java数据库连接代码

package com.dao;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class DB
{private Connection con;private PreparedStatement pstm;private String user = "root";//private String password = "root";//这里修改数据库密码    private String password = "root";//这里修改数据库密码     //这里修改数据库密码  private String className = "com.mysql.jdbc.Driver";private String url = "jdbc:mysql://127.0.0.1:3306/db_jpkc?characterEncoding=utf8";public DB(){try{Class.forName(className);} catch (ClassNotFoundException e){System.out.println("加载数据库驱动失败!");e.printStackTrace();}}/** 创建数据库连接 */public Connection getCon(){try{con = DriverManager.getConnection(url, user, password);} catch (SQLException e){System.out.println("创建数据库连接失败!");con = null;e.printStackTrace();}return con;}public void doPstm(String sql, Object[] params){if (sql != null && !sql.equals("")){if (params == null)params = new Object[0];getCon();if (con != null){try{System.out.println(sql);pstm = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);for (int i = 0; i < params.length; i++){pstm.setObject(i + 1, params[i]);}pstm.execute();} catch (SQLException e){System.out.println("doPstm()方法出错!");e.printStackTrace();}}}}public ResultSet getRs() throws SQLException{return pstm.getResultSet();}public int getCount() throws SQLException{return pstm.getUpdateCount();}public void closed(){try{if (pstm != null)pstm.close();} catch (SQLException e){System.out.println("关闭pstm对象失败!");e.printStackTrace();}try{if (con != null){con.close();}} catch (SQLException e){System.out.println("关闭con对象失败!");e.printStackTrace();}}
}

 

 

tadmin.java数据库实体

package com.orm;public class TAdmin
{private int userId;private String userName;private String userPw;public String getUserName(){return userName;}public void setUserName(String userName){this.userName = userName;}public String getUserPw(){return userPw;}public void setUserPw(String userPw){this.userPw = userPw;}public int getUserId(){return userId;}public void setUserId(int userId){this.userId = userId;}}

 

 

loginservice.java登录dwr ajax后端代码

package com.service;import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import javax.servlet.http.HttpSession;import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;import com.dao.DB;
import com.orm.TAdmin;
import com.orm.Tbanji;
import com.orm.Tstu;
import com.orm.Ttea;
import com.orm.Tzhuanye;
import com.orm.Tkecheng;public class loginService
{public String login(String userName,String userPw,int userType){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}String result="no";if(userType==0)//系统管理员登陆{String sql="select * from t_admin where userName=? and userPw=?";Object[] params={userName,userPw};DB mydb=new DB();mydb.doPstm(sql, params);try {ResultSet rs=mydb.getRs();boolean mark=(rs==null||!rs.next()?false:true);if(mark==false){result="no";}else{result="yes";TAdmin admin=new TAdmin();admin.setUserId(rs.getInt("userId"));admin.setUserName(rs.getString("userName"));admin.setUserPw(rs.getString("userPw"));WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); // session.setAttribute("userType", 0);session.setAttribute("admin", admin);}rs.close();} catch (SQLException e){System.out.println("登录失败!");e.printStackTrace();}finally{mydb.closed();}}if(userType==1){String sql="select * from t_tea where bianhao=? and loginpw=?";Object[] params={userName,userPw};DB mydb=new DB();mydb.doPstm(sql, params);try {ResultSet rs=mydb.getRs();boolean mark=(rs==null||!rs.next()?false:true);if(mark==false){result="no";}else{result="yes";Ttea tea=new Ttea();tea.setId(rs.getInt("id"));tea.setBianhao(rs.getString("bianhao"));tea.setName(rs.getString("name"));tea.setSex(rs.getString("sex"));tea.setAge(rs.getString("age"));tea.setLoginpw(rs.getString("loginpw"));WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute("userType", 1);session.setAttribute("tea", tea);}rs.close();} catch (SQLException e){System.out.println("登录失败!");e.printStackTrace();}finally{mydb.closed();}}if(userType==2){String sql="select * from t_stu where xuehao=? and loginpw=?";Object[] params={userName,userPw};DB mydb=new DB();mydb.doPstm(sql, params);try {ResultSet rs=mydb.getRs();boolean mark=(rs==null||!rs.next()?false:true);if(mark==false){result="no";}else{result="yes";Tstu stu=new Tstu();stu.setId(rs.getInt("id"));stu.setXuehao(rs.getString("xuehao"));stu.setName1(rs.getString("name1"));stu.setSex(rs.getString("sex"));stu.setAge(rs.getString("age"));stu.setBanji_id(rs.getInt("banji_id"));stu.setLoginpw(rs.getString("loginpw"));WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute("userType", 2);session.setAttribute("stu", stu);}rs.close();} catch (SQLException e){System.out.println("登录失败!");e.printStackTrace();}finally{mydb.closed();}}return result;}public String adminPwEdit(String userPwNew){System.out.println("DDDD");try {Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)session.getAttribute("admin");String sql="update t_admin set userPw=? where userId=?";Object[] params={userPwNew,admin.getUserId()};DB mydb=new DB();mydb.doPstm(sql, params);return "yes";}public List zhuanyeAll(){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}List zhuanyeList=new ArrayList();String sql="select * from t_zhuanye where del='no'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tzhuanye zhuanye=new Tzhuanye();zhuanye.setId(rs.getInt("id"));zhuanye.setName(rs.getString("name"));zhuanye.setJieshao(rs.getString("jieshao"));zhuanyeList.add(zhuanye);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return zhuanyeList;}public List kechengAll(){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}List kechengList=new ArrayList();String sql="select * from t_kecheng where del='no'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tkecheng kecheng=new Tkecheng();kecheng.setId(rs.getInt("id"));kecheng.setName(rs.getString("name"));kecheng.setJieshao(rs.getString("jieshao"));kechengList.add(kecheng);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return kechengList;}public List banjiAll(){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}List banjiList=new ArrayList();String sql="select * from t_banji where del='no'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tbanji banji=new Tbanji();banji.setId(rs.getInt("id"));banji.setName(rs.getString("name"));banjiList.add(banji);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return banjiList;}public List stuAll(){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}List stuList=new ArrayList();String sql="select * from t_stu where del='no'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Tstu stu=new Tstu();stu.setId(rs.getInt("id"));stu.setXuehao(rs.getString("xuehao"));stuList.add(stu);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return stuList;}public List teaAll(){try{Thread.sleep(700);} catch (InterruptedException e){// TODO Auto-generated catch blocke.printStackTrace();}List teaList=new ArrayList();String sql="select * from t_tea where del='no'";Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){Ttea tea=new Ttea();tea.setId(rs.getInt("id"));tea.setName(rs.getString("name"));teaList.add(tea);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return teaList;}
}

 

 

 

6、前端代码示例

 

login.jsp管理员登录

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>课程教学互动网站-后台登录</title>
<style type="text/css">
<!--
body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;background-image: url(images/main_top_bj2.jpg);}INPUT.smallInput {BORDER-RIGHT: solid #3D71BA 1px; BORDER-TOP: solid #3D71BA 1px; FONT-WEIGHT: normal; FONT-SIZE: 9pt; BORDER-LEFT: solid #3D71BA 1px; LINE-HEIGHT: normal; BORDER-BOTTOM:solid #3D71BA 1px; FONT-STYLE: normal; HEIGHT: 15px; FONT-VARIANT: normal}
-->
</style><script type='text/javascript' src='<%=path %>/dwr/interface/loginService.js'></script><script type='text/javascript' src='<%=path %>/dwr/engine.js'></script><script type='text/javascript' src='<%=path %>/dwr/util.js'></script><script language="javascript">function check1(){                                                                                         if(document.ThisForm.userName.value==""){alert("请输入用户名");document.ThisForm.userName.focus();return false;}if(document.ThisForm.userPw.value==""){alert("请输入密码");document.ThisForm.userPw.focus();return false;}document.getElementById("indicator").style.display="block";loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,0,callback);}function callback(data){document.getElementById("indicator").style.display="none";if(data=="no"){alert("用户名或密码错误");}if(data=="yes"){alert("通过验证,系统登录成功");window.location.href="<%=path %>/loginSuccess.jsp";}}</script><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head><body><FORM name="ThisForm" action="<%=path %>/adminLogin.action" method=post><table width="642" height="431" border="0" align="center" cellpadding="0" cellspacing="0" background="images/denglu.gif" style="margin-top:70px;background-repeat:no-repeat;"><tr><td height="219" colspan="4">&nbsp;</td></tr><tr><td height="13" colspan="4">&nbsp;</td></tr><tr><td width="289" height="42">&nbsp;</td><td width="220" valign="middle" style="padding:2px;"><input type="text" name="userName" maxlength="20" size="20" value="" style="width:150px;" class="smallInput"></td><td width="79">&nbsp;</td><td width="54" style="padding-top:0px; cursor:hand;">&nbsp;</td></tr><tr><td height="25">&nbsp;</td><td valign="top" style="padding:2px;"><input type="password" name="userPw" maxlength="20" size="21" value="" style="width:150px;" class="smallInput"></td><td>&nbsp;</td><td style="padding-top:0px; cursor:hand;">&nbsp;</td></tr><tr><td height="25">&nbsp;</td><td valign="top" style="padding:2px;font-size:12px;">&nbsp;</td><td>&nbsp;</td><td style="padding-top:0px; cursor:hand;">&nbsp;</td></tr><tr><td colspan="4" align="center"><span style="padding-top:0px; cursor:hand; padding-right:3px;"><input name="button" type="button" class="button" id="Submit" value="登 陆" onClick="check1()"> <img id="indicator" src="<%=path %>/images/loading.gif" style="display:none"/></span><font color="#FF0000" style="font-size:12px"></font></td></tr><tr height="100"><td height="88" colspan="4">&nbsp;</td></tr>
</table>
</form>
</body>
</html>

 

index.jsp前台首页

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false"%>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">function down1(fujianPath,fujianYuashiMing){<c:if test="${sessionScope.userType==null}">alert("请先登录");</c:if><c:if test="${sessionScope.userType!=null}">var url="<%=path%>/updown/updown.jsp?fujianPath="+fujianPath+"&fujianYuashiMing="+fujianYuashiMing;url=encodeURI(url); url=encodeURI(url); window.open(url,"_self");</c:if>}</script><title>课程教学网站</title>
<link href="images/style.css" rel="stylesheet" type="text/css" />
<style>
.toplink a {padding: 0 10px 0 0px;font: bold 12px/24px Arial, Helvetica, sans-serif;color: #F30;text-decoration: none;
}.toplink a:hover {color: #000;background-color: inherit;
}
</style>
<!--图片轮播-->
<style type="text/css">
.box {position: relative;width: 972px; /*轮播图框架宽*/
}.cont {height: 340px; /*轮播图框架高*/overflow: hidden;
}.cont img { /*图片尺寸*/width: 972px;height: 340px;border: 0
}.item {background: rgba(0, 0, 0, 0.5);color: #fff;font-size: 40px; /*圆点大小 */position: absolute;left: 0;bottom: 0;width: 100%;text-align: right;line-height: 30px;height: 30px; /*圆点背景*/
}.item a {margin-right: 10px;cursor: pointer;text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
}a.seld {}a.hide {display: none;
}
</style>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">var n = 0;$(document).ready(function(){count=$(".cont a").length;//显示区域的内容长度$(".item a").click(function(){$(this).addClass("seld").siblings().removeClass("seld");	var _index=$(this).index();//分屏的数字索引$(".cont>a").eq(_index).fadeIn(300).siblings().fadeOut(300);});t = setInterval("showAuto()", 2000);//执行定义好的函数$(".box").hover(function(){clearInterval(t)}, function(){t = setInterval("showAuto()", 2000);});/*当鼠标划向图片时终止定时器,离开时再调用定时器*/})function showAuto(){n = n >=(count - 1)?0: ++n;$(".item a").eq(n).trigger('click');}	
</script>
<!--图片轮播--></head>
<body><!--main start --><jsp:include flush="true" page="/qiantai/inc/incTop2.jsp"></jsp:include><div id="main"><table width="100%" border="0" cellspacing="0"><tr><td><div class="box"><div class="cont"><a href="163.com" target="_blank"><img style="border: 0" src="images/1.jpg" /></a> <a class="hide" target="_blank" href="163.com"><img style="border: 0" src="images/2.jpg" /></a> <a class="hide" target="_blank" href="163.com"><img style="border: 0" src="images/3.jpg"></a> <a class="hide" target="_blank" href="163.com"><img style="border: 0" src="images/4.jpg" /></a></div><div class="item"><a class="seld">·</a> <a>·</a> <a>·</a> <a>·</a></div></div></td></tr></table><!--left panel start --><div id="left"><jsp:include flush="true" page="/qiantai/inc/incLeft.jsp"></jsp:include></div><!--left panel end --><!--right panel start --><div id="right"><!--rightBotMain start --><div id="rightBotMain"><!--best start --><div id="best"><h2><span>教学资料信息</span></h2><p class="bestTxt"><TABLE class=dragTable cellSpacing=0 cellPadding=0 width="100%" border=0><c:forEach items="${requestScope.docList}" var="doc"><tr align='center' bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='red';" onMouseOut="javascript:this.bgColor='#FFFFFF';" height="22"><td bgcolor="#FFFFFF" align="left"><a href="<%=path %>/doc?type=docDetailQian&id=${doc.id}">${doc.title}</a></td><td bgcolor="#FFFFFF" align="right">${doc.shijian}</td></tr></c:forEach></TABLE></p><br class="spacer" /></div><div id="best"  style="margin-top:10px"><h2><span>最新作业</span></h2><p class="bestTxt"><table width="99%" border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF" align="center" style="margin-top: 8px"><tr align="center" bgcolor="#FAFAF1" height="22"><td>名称</td><td>上传时间</td><td>下载</td></tr><c:forEach items="${requestScope.zuoyeList}" var="zuoye"><tr align='center' bgcolor="#FFFFFF" height="30"><td align="left">${zuoye.mingcheng}</td><td align="left">${zuoye.shijian}</td><td align="center"><a href="#" onclick="down1('${zuoye.fujian}','${zuoye.fujianYuanshiming}')" style="font-size: 10px; color: red">down</a></td></tr></c:forEach></table></p><br class="spacer" /></div><!--best end --></div><!--rightBotMain end --><!--last panel start --><div id="last"><div class="lastbox"><h2 >网站公告</h2><ul><c:forEach items="${sessionScope.gonggaoList}" var="gonggao"><li><a href="<%=path %>/gonggao?type=gonggaoDetailQian&id=${gonggao.id}"> ${gonggao.title} </a></li></c:forEach></ul></div><div class="lastbox" style="margin-top:10px"><h2  >教学视频</h2><ul><c:forEach items="${sessionScope.shipinList}" var="shipin"><li><a href="<%=path %>/shipin?type=shipinDetailQian&id=${shipin.id}"> ${shipin.title} </a></li></c:forEach></ul></div></div><!--last panel end --><br class="spacer" /></div><!--right panel end --><br class="spacer" /></div><!--main end --><!--footerMain start --><jsp:include flush="true" page="/qiantai/inc/incFoot.jsp"></jsp:include><!--footerMain end -->
</body>
</html>

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_813245.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb教材预定系统ssm框架mysql数据库j2ee网站(年级课程教师学生领取库存出库入库统计报表等信息管理)

目录 第一章 效果展示 第二章 教材预定系统项目概述 第三章 教材预定系统使用的环境 第四章 程序代码目录结构 第五章 关键代码示例 第一章 效果展示 第二章 教材预定系统项目概述 本系统是一个学校内部针对教材预订出入库领取全过程控制的JAVA项目,包含三种角色权限(学生…

SSM车辆综合管理系统J2EE(包含车辆驾驶员油耗年检以及维修保养百度echarts统计图表)JAVAWEB网站

目录 1 最终效果 1.1整体效果 1.2 维修保养统计echarts图表 2 项目说明 3 代码结构 4 数据库实体描述 5 统计代码实现 5.1 后端JAVA代码 5.2 前端JSP代码 1 最终效果 1.1整体效果 1.2 维修保养统计echarts图表 2 项目说明 车辆综合管理系统包含如下功能:车辆管理、驾…

SSM游乐园水上乐园欢乐谷项目门票预订预约网站javaweb管理系统j2ee

目录 1 效果展示 1.1 前台普通用户首页 ​1.2后台管理员登录页 1.3 后台管理员功能界面​ 2 游玩项目门票预约预订网站功能 3 数据表实体字段说明 4 预订操作主要实现代码 1 效果展示 1.1 前台普通用户首页 1.2后台管理员登录页 1.3 后台管理员功能界面 2 游玩项目门票预…

SSM-javaweb社区家政O2O服务预约网站

目录 1 前台用户效果 2 后台管理员效果 3 功能结果图 4 数据实体描述 5 说明 1 前台用户效果 2 后台管理员效果 3 功能结果图 4 数据实体描述 5 说明 本项目使用 1、 JavaBean Servlet MVC 2、 SSH StrutsSpringHibernate 3、 SSM SpringSpringMVCMyBatis 三者都可以…

SSM社区医院卫生所病人患者随访信息管理javaweb网站系统设计与实现

目录 1 效果展示 2 数据实体 3 功能说明 4 部分代码 1 效果展示 2 数据实体 3 功能说明 包含医生 和管理员两种角色,对随访信息,科室,病房,病人患者等信息进行管理 4 部分代码 package com.action;import java.io.IOException; import java.sql.ResultSet; import java.s…

基于SSM的网上拍卖网站购物系统的设计与实现

目录 1 概述 2 效果 3 数据表十个 4 代码实现过程 5 主要代码 5.1 用户相关代码 5.2 数据库连接代码 5.3 论坛发贴代码 1 概述 本系统是为网上交易提供的一个需求平台,买卖双方可以在网上拍卖网站上找到自己所需要的东西&#xff0c;也可以将自己不用的东西进行出售。网…

PHP实现的博客网站-个人相册微博-php图片分享网站基于lamp/wamp/MySQL/PhpStorm

目录 1 效果展示 ​2 开发工具 3 数据结构 4 功能实现和主要代码 1 效果展示 2 开发工具 代码开发工具PhpStorm Dreamweaver 数据库管理工具Navicat 环境套件Apache2.x php7.x MySQL 8.x LAMP或wamp,phpstudy XAMPP 3 数据结构 1 admin管理员 字段名称 …

ASP.NET失物招领网站包含(寻物启事+感谢信+通知公告)c#开发

目录 1 、效果展示 2、开发工具 3、功能概述 4、数据表 5、关键代码 1 、效果展示 2、开发工具 Microsoft Visual Studio SQL Server Management Studio 3、功能概述 程序开发前期对进行需求分析&#xff0c;最后确认了设计方案&#xff0c;介绍了开发工具的使用情况&…

javaweb校园互助悬赏跑腿中介平台SSM网站J2EE

目录 1 效果演示 2 开发环境 3 功能说明 4 数据结构 4.1管理员表 4.2用户表 4.3信息交换表 5 关键代码 5.1数据库连接配置和连接代码 5.2用户相关代码 1 效果演示 2 开发环境 开发工具idea或eclipse 数据库MySQL或SQL server 开发框架&#xff1a;SSM SpringSpr…

基于WEB的课程培训报名在线网站平台PHP开发mysql数据库

目录 1、功能描述 ​ 2、数据表共8个 3、视频演示效果 1、功能描述 各模块功能详述&#xff1a; 1&#xff09;登录&#xff1a;用户进入网站后可以注册会员&#xff0c;注册成功后输入用户名和密码可以登录系统&#xff0c;查看网站相关信息&#xff0c;会员登录功能有&am…

SSM大学生公益义工主题管理-义工服务-志愿者报名审核javaweb网站j2ee项目

目录 1 项目说明 2 数据结构 3 效果演示 1 项目说明 idea或eclipse开发,mysql数据库 本系统主要分为前台登录、注册、义工旅游、公益主题、志愿者招募、志愿者招募查询&#xff1b;后台系统管理、义工旅游管理、公益主题管理、志愿者招募管理、注册会员 管理、志愿者报名管…

基于SSM开发的javaweb模式二手手机回收利用j2ee网站管理系统

目录 1 概述 2 数据表 3 功能演示 1 概述 idea或eclipse开发,mysql数据库 1、合理设定用户&#xff0c;控制用户使用权限。 2、管理人员可以随时根据实际情况修改数据库中的数据资料&#xff0c;使信息的更新及时、准确&#xff1b; 3、发布的二手手机信息内容可以让人们一目…

基于SSM开发的JavaWEB企业股权融资平台j2ee网站(包含财务顾问资讯-融资项目发布-意向投递-投资人管理等功能)

目录 1、功能概述 2、数据结构 3、开发环境 1、功能概述 本系统主要分为前台用户登录和后台管理员登录。 前台用户实现的功能有&#xff1a;注册、登录、修改密码、修改详细资料、融资项目信息、查看网站相关信息、留言等&#xff1b; 后台实现的功能有&#xff1a;系统管…

基于SSM的大学生心理咨询网站(javaweb-php-asp.netC#-j2ee)包含测试心理知识咨询回复留言数据统计分析建议

目录 1 概述 2 数据库表 3 关键代码 4 效果演示 1 概述 本文详细讲解了一个功能全面的心理咨询网站的开发过程。文章首先进行了项目概述&#xff0c;讲解了设计的一些操作流程及其一些核心的技术。本文采用自顶向下的结构化的系统分析方法&#xff0c;首先分析了项目的开发背…

基于SSM的在线贷款借款信贷贷款网站交易平台(javaweb-php-asp.netC#-j2ee)

目录 1 概述 2 数据库表 3 关键代码 4 效果演示 1 概述 网贷网为广大用户提供一个供需平台,用户可以将自己多余的钱财进行交易,也可找到自己需要的贷款项目,达到双赢。网上贷款交易既可以锻炼用户的个人理财能力&#xff0c;又可以催进节约型社会的发展&#xff0c;符合当代…

基于SSMidea开发景区景点旅游网站(javaweb-php-asp.netC#-j2ee)包含城市推荐线路预约预定自驾游个性化推荐技术数据统计分析

目录 0、效果展示 1、旅游网站概述Design and implementation of the web-based information management 2、旅游网站搭建环境 3、数据表 ​4、后端代码示例 5、前端代码示例 0、效果展示 1、旅游网站概述Design and implementation of the web-based information managem…

基于idea-SSM的企业资讯管理系统-企业网站-企业公司新闻网站-产品管理-行业动态(javaweb-php-asp.netC#-j2ee)

目录 0、效果展示 ​​1、概述 2、搭建环境 3、数据表 ​4、后端代码示例 5、前端代码示例 0、效果展示 1、概述 题目是企业资讯管理网站&#xff0c;采用B/S&#xff08;服务器/浏览器&#xff09;架构&#xff0c;应用javaweb技术&#xff0c;采用Mysql数据库&#xff…

基于idea-SSM兼职网站校园兼职任务发布网站(bootstrap-jquery-vue-javaweb-php-asp.netC#-j2ee)

目录 1 概述 2 数据库表 3 关键代码 4 效果演示 1 兼职网站概述 idea或eclipse开发,mysql数据库 当今&#xff0c;人类社会已经进入信息全球化和全球信息化、网络化的高速发展阶段。丰富的网络信息已经成为人们工作、生活、学习中不可缺少的一部分。人们正在逐步适应和习惯…

针对某五金电子厂的企业网站进行模拟SQL注入来谈 企业网站安全的攻击与防范-网站安全漏洞剖析实例 (适应于idea-SSMjavaweb-php-asp.netC#-j2ee)

目录 1 用来模拟入侵的网站效果 2 概述 3 SQL注入原理 4 判断能否进行SQL注入 5 判断数据库类型及注入方法 6 SQL注入 7 SQL注入攻击的防范 8 SQL注入攻防演示录相 1 用来模拟入侵的网站效果 2 概述 SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用…

idea开发SSM框架的高校大学学生社团管理网站bootstrap自适应响应式前端(javaweb-php-asp.netC#-j2ee)包含公告管理-社团活动管理-社团申请管理-社团审核-活动报名

目录 0、效果展示 1、概述 2、社团管理网站搭建环境 3、数据表结构 ​4、后端代码示例 5、前端代码示例 0、效果展示 1、概述 高校学生社团是高校学生依据兴趣爱好自愿组成&#xff0c;按照章程自主开展活动的学生组织。学生社团是高校校园文化的重要载体&#xff0c;是高…