ServletContext servletContext = this.getServlet().getServletContext();
String path = servletContext.getRealPath("");
FileOutputStream out = new FileOutputStream(path+"/uploadC/"+ kejian_Name);
out.write(file.getFileData());
out.flush();
out.close();
UpLoadManager ulm = new UpLoadManager();
boolean flag = ulm.kejianAdd(video_Name, video_Time);
if(flag)
{
request.setAttribute("currentTime", new Date());
request.setAttribute("upload", "success");
retur, , n mapping.findForward("upload");
}
request.setAttribute("upload", "fail");
return mapping.findForward("AuploadC");
path表示得到当前项目下webRoot 的路径,为了保存视频,在webRoot下建立了一个名为uploadV的文件夹,考虑到一处编写到处运行的java语言初衷,把视频保存在tomcat服务器下.代码中的FormFile类,是映射上传文件的,对你上传的文件进行操作,可以取得文件的名字,文件的内容等。由于怕上传的电子教案的名的字会相同,于是用个UUID类。用UUID.randomUUID()给文件名加一个随机的32位的不会重复的数字。上传成功的电子教案会存在服务器的uploadC文件夹中。
教师上传电子教案页面如图6-4所示:
图6-4教师上传电子教案图
c. 学生用户成功登录后,可点击“下载电子教案”查看电子教案,选择想要下载的电子教案点击“下载”。
学生下载电子教案页面如图6-5所示:
图6-5学生下载电子教案页面
6.2.4 公告管理模块站内公告管理小模块主要功能是管理站内公告,教师可通过公告管理模块向学生们发布通知,也可以删除通知。 这是一个小模块,因此创建Back_NoteAction类调用NoteManager类中的add()方法向数据库中添加公告内容:
public boolean add(String note_title,String note_content,String note_time) throws Exception{
Connection conn = null;
DBconn db = new DBconn();
PreparedStatement pstmt= null;
try{
conn = db.getConn();
pstmt = conn.prepareStatement(Sql.add_tb_note);
pstmt.setString(1,note_title);
pstmt.setString(2,note_content);
pstmt.setString(3,note_time);
int n=pstmt.executeUpdate();
if(n==1){
return true;
} else {
return false;
}
}catch(SQLException e){
e.printStackTrace();
throw e;
}finally{
DBconn.closePstmt(pstmt);
DBconn.closeConn(conn);
}
}
学生的主页是由主页中include进去几个页组成的。所以要在用户的页面中显示公告,创建了一个Head_MainAction类,在该类中的show方法中使用 request.getSession().setAttribute("list_note", list_note);将list_note放在session中的。于是只要浏览器不关,在任何一个显示页面都能取到用EL表达${lsit_note}取得。
添加公告页面如图6-6所示:
图6-6添加公告页面
6.2.5 留言管理模块在教师的留言管理模块中,教师可以回复留言和删除留言。学生只可以查看留言和留言。教师用户创建了一个Back_MessageAction类,调用MessageManager中的诸方法来添加或删除留言。学生用户创建了一个Head_MessageAction类,调用MessageManager中某些方法。在学生显示留言页面要分我利用了jstl加EL表达式分页,关键代码如下:
MessageActionForm maf = (MessageActionForm)form;
MessageManager mm = new MessageManager();
ArrayList list = mm.query();
int pageSize = list.size() / 4 + 1;
ArrayList list1 = new ArrayList();
int begin = 0;
int end = 3;
int currentPage = 1;
//---从页面得到数据---
if(maf.getCurrentPage()!=1&&maf.getCurrentPage()!=0)
{
begin = maf.getBegin();
end = maf.getEnd();
currentPage = maf.getCurrentPage();
}
maf.setBegin(begin);
maf.setEnd(end);
maf.setCurrentPage(currentPage);
list1.add(maf);
request.setAttribute("currentTime", new Date());
request.setAttribute("list", list);
request.setAttribute("list1", list1);
request.setAttribute("pageSize", Integer.valueOf(pageSize));
return mapping.findForward("showmessage");
教师查看留言页面如图6-7所示:
图6-7教师查看留言页面
6.2.6 视频管理模块视频管理模块分为学生用户主页的视频管理和教师用户主页的视频管理。教师成功登录后,在教师用户的主页中的视频管理模块,教师可以上传新的视频,也可以删除以前传过的视频。点击“上传视频”就会进入到电子教案上传的页面,教师点击“浏览”选择要上传的视频,然后点上传就完成了一个视频的上传。上传视频的关键代码如下:
UpLoadForm uploadFile = (UpLoadForm)