1 概述
本文首先介绍了系统的现状和前景、本系统运用到的理论支持和应用技术,然后对期刊论文提交与评阅系统的总体框架和功能模块进行了规划和设计,并对各功能模块的作用进行的描述,接下来集中介绍了系统的实现方案,对各个功能模块的实现进行了详细的说明,最后对系统进行了测试,并对主要测试用例和核心功能模块的测试结果进行了说明,整个过程严格遵循软件开发的基本过程。
2 数据库表
表3-4 评阅专家信息表
表名 | Expert | |||
描述 | 存放所有 评阅专家的基本信息,管理员来对其进行管理 | |||
字段名 | 数据类型 | 长度 | 是否为空 | 描述 |
EX_id | int |
| Notnull | 专家编号[主键] |
EX _name | varchar | 100 | Notnull | 姓名 |
Ex_sex | varchar | 20 | Notnull | 性别 |
EX _title | varchar | 100 | Notnull | 职称 |
EX _unit | Varchar | 100 | Notnull | 单位 |
Ex_ads | Varchar | 100 |
| 地址 |
EX_code | Varchar | 100 |
| 邮编 |
EX _tel | Varchar | 100 | Notnull | 联系电话 |
EX _email | Varchar | 100 | Notnull | 电子邮箱 |
EX _domain1 | Varchar | 500 | Notnull | 研究领域一 |
EX _domain2 | Varchar | 500 |
| 研究领域二 |
EX _domain3 | Varchar | 500 |
| 研究领域三 |
表3-5 评阅意见表
表名 | Comment | |||
描述 | 存放 发表的评阅意见 | |||
字段名 | 数据类型 | 长度 | 是否为空 | 描述 |
Com _id | int |
| Notnull | 意见编号[主键] |
Ar_id | int |
| Notnull | 编号,外键,引用(Article)[Ar_id] |
Ex_id | int |
| Notnull | 评阅者编号,外键,引用(Reader)[Reader_id] |
Com_note | varchar | 1000 |
| 评阅意见 |
3 关键代码
package servlet;
import java.io.IOException;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 下载文件
* @author
*
*/
public class DownloadFilesServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 8594448765428224944L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/*
* 处理请求
* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入downloadfilesservlet");
//request.setCharacterEncoding("UTF-8");
String name = new String(request.getParameter("fileName").getBytes("GBK"),"iso8859-1");
name = "file\\科学发展观简报.doc";
System.out.print("fileName " + name);
// web绝对路径
String path = request.getSession().getServletContext().getRealPath("/");
String savePath = path + name;
// 设置为下载application/x-download
response.setContentType("application/x-download");
// 即将下载的文件在服务器上的绝对路径
String filenamedownload = savePath ;
System.out.println( filenamedownload);
// 下载文件时显示的文件保存名称
String filenamedisplay = name;
// 中文编码转换
filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename=" + filenamedisplay);
response.setCharacterEncoding("UTF-8");
try {
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream( filenamedownload);
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
} catch (Exception e) {
}
}
}
4 效果演示
idea或eclipse开发,mysql数据库