JSP学术会议论文系统投稿及审稿(任务书+开题报告+源程序)
// 导入输入输出流包,以便于以后对文件的读写操作
<%@ page import="java.io.File"%>
<%@ page import="java.sql.*"%>
//定义一个JavaBean 对象
<jsp:useBean id="myUpload" scope="page" class="xiaoxiang.fileUpload.upBean" />
… … …
// 用到Bean中的两个函数,对上传文件的格式(后缀)做了一定的限制
<%
//初始化工作
myUpload.initialize(pageContext);
//设定允许的文件后缀名
myUpload.setAllowedExtList("gif,jpg,doc,txt,rm,htm,html");
try
{
//将所有数据导入组件的数据结构中
myUpload.upload();
}
catch(Exception e){throw e;}
//得到所有上传的文件
files myFiles=myUpload.getFiles();
//上传文件后对数据库进行操作,如果该稿件id已经存在,则更新数据库;如果不存在则对//所有有影响的数据表执行相应的插入操作。
sql="insert into
tb_manuscript(id,theme,author,keyword,summary,scope,stateid,firstcheckid,cnum,fenid,resultid) values("+uid+",'"+theme+"','" +author+"','"+keyword+"','"+summary+"','"+values[0]+"',0,0,0,0,2);";//加入附件名称
stmt.executeUpdate(sql);
sql="insert into tb_send values('"+username+"',"+uid+",'"+date+"');";
stmt.executeUpdate(sql);
//将文件保存到服务器
try
{
for(int i=0;i<myFiles.getCount();i++)
{
int j=i+1;
//有两种保存方法,一种是保存在myUpload.setRealPath()的设定路径中,使用saveAs(),一种是另外保存到其他文件夹,使用.saveAs(String realPath) setRealPath=application.getRealPath(File.separator+File.separator+"uploadFiles"+File.separator+values[0]+File.separator);
myName=id+"_" +j+"." +myFiles.getFile(i).getExtName();//新文件名
sourceName[i]=myFiles.getFile(i).getName();//保存原文件名
myFiles.getFile(i).setName(myName);//设置新文件名
myFiles.getFile(i).saveAs(setRealPath); //保存到服务器路径
//myFiles.getFile(i).saveAs();
}
}
catch (Exception e) {throw e;}%>
在该程序段中用到一个编码机制ENCTYPE
<form method="post" action="upload_do.jsp" enctype="multipart/form-data" name="form123">
ENCTYPE属性是可选,该编码机制的主要目的是文件能够通过HTML表单进行下载。在这个机制下,选定的界定字符串是不会出现在数据中的字符串(通常使用“随机文本生成器”每个字段数据发送的顺序,就是它们出现在表单中的顺序,也即构成了“多部”流中的一个部分。
另外,在上传文件时,相应的文件上传框<INPUT maxLength=50 type="file" name="FILE1" >type应设置为file。
5.5 相关问题解决
在系统的实际设计过程中,出现了一些问题,以下是我遇到的一些问题及解决方法。
乱码问题
<%!
//乱码转换函数
public String getstr(String str){
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
String temp=new String(temp_t);
return temp;
}
catch(Exception e)
{
return "";
} }
%>
String Name =request.getParameter("Name");Name=getstr(Name);//从web界面存数据时需用此转换
Password=rs.getString("Password");Password = new
String(Password.getBytes("8859_1"),"GB2312");//从数据库中取数据时需用此转换
为解决这个问题,可在每个JSP的页面开始处加上<%@ page language=“Java”
contentType=“text/html; charset=gb2312”%>。不过,这还不够,虽然这时显示了中文,但是发现从数据库读出的字段变成了乱码。经过分析发现: 在数据库中保存的中文字符是正常的,数据库用ISO8859-1字符集存取数据,而Java程序在处理字符时默认采用统一的ISO8859-1字符集(这也体现了Java国际化思想),所以在数据添加的时候Java和数据库都是以ISO8859-1方式处理,这样不会出错。但是在读取数据的时候就出现问题了,因为数据读出也采用ISO8859-1字符集,而 JSP的文件头中有语句<%@ page language=“Java” contentType=“text/html; charset=gb2312”%>,这说明页面采用GB2312的字符集显示,这样就和读出的数据不一样。这时页面显示从数据库中读出的字符是乱码,解决的方法是对这些字符转码,从ISO8859-1转成GB2312,就可以正常显示了。这个解决办法对很多平台具有通用性,可以灵活运用。
6 系统测试与运行
经过为期三个月的毕业设计,终于把网上投稿及审稿系统完成了。目前系统正处于测试运行阶段,由于时间和本人能力有限,所以,系统还存在很多的问题和不足,如安全性能还不够完善、稿件不能进行网上综合评审等等。因此在以后的工作和使用中,还需不断文护和完善,将网上投稿及审稿系统推向正常运行的轨道。
系统主要的功能需求是投稿和审稿,经过测试运行后,系统已基本上实现了用户的需求,能方便快捷进行网上投稿和审稿,同时也可以进行用户基本信息的修改、稿件相关的查询等等。
打开浏览器中输入127.0.0.1:8080/lunwen/index.html,即可登录到相关的系统界面, 使用系统提供的相关功能。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] 下一页
JSP学术会议论文系统投稿及审稿(任务书+开题报告+源程序+答辩PPT) 第14页下载如图片无法显示或论文不完整,请联系qq752018766