高校科技成果转化网站设计与实现
2016-08-04吉林大学科学技术处长春300吉林大学公共计算机教学与研究中心长春300
王 勇,邹 密(.吉林大学科学技术处,长春,300;.吉林大学公共计算机教学与研究中心,长春,300)
高校科技成果转化网站设计与实现
王 勇1,邹 密2
(1.吉林大学科学技术处,长春,130012;2.吉林大学公共计算机教学与研究中心,长春,130012)
摘要:科技成果转化网站是高校进行科技信息采集、科技信息发布、科技信息检索的重要平台。在分析高校科技成果转化业务需求的基础上,使用JSP编程技术,配合WEB服务器与数据库,基于B/S模式建立了科技成果转化网站。
关键词:科技成果转化;高校;JSP;数据库
0 引言
随着国家科技计划改革的不断深入,国家修订了《中华人民共和国促进科技成果转化法》,并印发《实施〈中华人民共和国促进科技成果转化法〉若干规定》,科技成果转化已经上升到国家战略层面,各地方政府、高校、科研院所、企事业单位都将大力实施创新驱动发展战略,提升自身的原始创新能力,加快推进科技成果转移转化工作。
借助互联网信息传播优势,为科技成果转化搭建集供求信息发布、科技成果推广、人才团队推荐、科研实力展示等全链条的科技综合服务网站平台,能够吸引更多的国内外科技企业、投资机构、科技成果持有方关注,为高校的科技资源利用提供有力支持。基于此,使用JSP编程技术,配合WEB服务器与数据库,采用B/S模式建立了高校科技成果转化网站。
1 关键技术
1.1动态网页语言JSP
动态网页技术是指在服务器端存储网页程序,当WEB服务器接收到用户请求,由服务器执行动态网页程序,将程序运行结果返回给客户的一种WEB实现技术。
Java Server Pages 简称JSP,是一种动态网页编程技术,用于在服务器端生成页面。JSP支持Serverlet、JavaBean、JSP标准标签库JSTL、EL表达式等功能,简化了动态网页的开发。使用JSP语言进行网页设计,具有跨平台、业务代码分离、组件重用、预编译等特点。
1.2WEB前端、后端开发
为提高开发效率,将信息显示和业务逻辑处理分离,通常将WEB开发分为前端开发和后端开发。前端开发主要使用脚本语言JavaScript和层叠样式表CSS对信息显示的布局、版式、控件、特效进行控制。后端开发从设计模式、控制流、数据流、数据库访问等方面进行设计。网站开发前端使用JavaScript语言和CSS层叠样式表;后端使用JSP动态网页技术。
JavaScript是一种面向对象、弱类型、具有相对安全性的客户端脚本语言,可在客户端浏览器中运行,为HTML静态网页增加动态效果。使用JavaScript,能在网页中实现动画、拖拽、分页等效果。
CSS层叠样式表是为结构化文档添加样式的计算机语言。相对于HTML标签,CSS对文档中对象的样式控制更为方便,能有效地将文档显示内容和内容显示样式分离。
1.4数据库技术
数据库是按照数据结构来组织、存储和管理数据的仓库,是使数据持久化、有效存储、高效访问的保证。关系型数据库是数据库的一种。
为保证数据的有效性、完整性、低冗余,在设计数据库时使用数据库范式。目前,关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式),范式等级越高数据库冗余越小。第一范式要求在数据表中所有字段不可再分,具有原子性;第二范式要求数据表满足第一范式,同时数据表中非主属性完全依赖于候选码;第三范式要求数据表满足第二范式,同时数据表中非主属性和候选码之间不存在传递函数依赖。系统在设计时实现了第三范式。
为保证数据操作的完整性,使用数据库的事务和回滚功能。数据库事务是一种机制,将一组数据库操作序列定义为一个事务,是一个不可分割的工作逻辑单元。事务具有原子性,对于事务操作只有两种状态:完全操作成功和完全没有操作。回滚是指当数据操作出现错误时,数据库系统恢复到操作之前的状态。
2 系统设计
根据高校科技成果转化的实际业务需求,定义网站功能模块如图1所示。
网站定义超级管理员、普通管理员、游客三种角色,角色权限如下:
超级管理员:角色创建、角色权限分配、新增信息、检索信息、修改信息、删除信息。
普通管理员:新增信息、检索信息、修改信息、删除信息。
游客:检索信息、浏览信息、发送成果采集信息。
3 系统实现
根据高校科技成果转化实际业务需求,使用JSP编程技术,配合WEB服务器与数据库,采用基于B/S模式,建立高校科技成果转化网站,网站分为科技成果展示模块、科技对接信息、企业需求展示等多个模块。
3.1科技成果展示模块
此模块用于显示科技成果的详细内容,包括成果简介、研究团队、成果成熟度、知识产权情况、成果应用领域及应用前景、合作方式、成果图片,部分代码如下。
public class ListService extends AbstractService〈TechResult〉 {
public static final String IOC_BEAN_NAME = "info.techresult.listService";
public static final String INJECT_NAME = "refer:" + IOC_BEAN_NAME;
private static final Log LOG = Logs.get();
public PageData〈TechResult〉 search(Map〈String,String〉 kw){
LOG.info("获取科技成果列表");
Cnd cnd = ListCnd.getCnd(kw);
return fetchPageData(TechResult.class,getPager(kw), cnd);
}
图1 网站功能模块图
public PageData〈TechResult〉 all(Map〈String,String〉 kw){
LOG.info("获取全部科技成果");
return fetchPageData(TechResult.class,getPager(kw), Cnd.NEW().desc("postTime"));
}
public List〈TechResult〉 getTechLast() {
LOG.info("请求最新的4条科技成果");
List〈TechResult〉 trlist = dao. query(TechResult.class, Cnd.NEW().limit(4). desc("postTime"));
return trlist;
}
3.2科技对接信息模块
此模块用于显示高校与相关企业、事业单位的考察、调研、技术转移、战略合作等信息,部分代码如下。
public class ListService extends AbstractService〈TechDock〉 {
public static final String IOC_BEAN_NAME = "info.techdock.listService";
public static final String INJECT_NAME = "refer:" + IOC_BEAN_NAME;
private static final Log LOG = Logs.get();
public PageData〈TechDock〉 all(Map〈String,String〉 kw){
LOG.info("获取全部科技对接信息");
return fetchPageData(TechDock.class,getPager(kw), Cnd.NEW().desc("postTime"));
}
public List〈TechDock〉 getLasts() {
LOG.info("请求最新的2-5条科技对接信息");
List〈TechDock〉 trlists = new ArrayList〈TechDock〉() ;
List〈TechDock〉 trlist = dao. query(TechDock.class, Cnd.NEW().limit(5). desc("postTime"));
if(trlist.size()〉=5) {
for(int i = 1 ; i 〈 trlist. size(); i++) {
trlists.add(trlist.get(i));
}
}
return trlists;
}
public TechDock getLast(){
LOG.info("请求最新的1条科技对接信息");
TechDock ts = dao.fetch(TechDock. class,Cnd.NEW().desc("postTime"));
return ts;}
3.3企业需求展示模块
此模块用于显示企业的技术难题、技术需求等信息,部分代码如下。
p u b l i c c l a s s L i s t S e r v i c e e x t e n d s AbstractService〈ComRequire〉 {
public static final String IOC_BEAN_NAME = "info.comrequire.listService";
public static final String INJECT_NAME = "refer:" + IOC_BEAN_NAME;
private static final Log LOG = Logs.get();
public PageData〈ComRequire〉 all(Map〈String,String〉 kw){
LOG.info("获取全部企业需求信息");
return fetchPageData(ComRequire.class,getPager(kw), Cnd.NEW().desc("postTime"));
}
public List〈ComRequire〉 getLast() {
LOG.info("请求最新的4条企业需求信息");
List〈ComRequire〉 trlist = dao. query(ComRequire.class, Cnd.NEW().limit(4). desc("postTime"));
return trlist;
}
4 结语
本文使用JSP编程技术,配合WEB服务器与数据库,采用B/ S模式建立了高校科技成果转化网站,对高校的科技成果采集、科技成果发布与检索、科技对接信息发布与检索、企业需求展示等方面发挥了重要作用。
参考文献
[1]郭强,夏向阳,赵莉.高校科技成果转化影响因素及对策研究[J]. 科技进步与对策, 2012, 29(6): 151-153.
[2]杨栩,于渤.中国科技成果转化模式的选择研究[J]. 学习与探索,2012 (8):106-108.
[3]吴金希,李宪振.台湾工研院科技成果转化经验对发展新兴产业的启示[J].中国科技论坛, 2012 (7): 89-94.
[4]何继江,王路昊,曾国屏.以技术能力的商业开发促进科技成果转化——以深圳清华大学研究院为案例[J]. 科学学研究, 2013, 9: 1355-1363.
[5]陈英杰.基于重大科技成果转化项目的江苏高校产学研合作研究[J].东南大学学报: 哲学社会科学版, 2013 (2): 130-133.
[6]王鹏.基于JSP的动态网页技术研究[J].信息与电脑 (理论版), 2015, 11: 040.
[7]秦秀磊,张文博,魏峻,等.云计算环境下分布式缓存技术的现状与挑战[J]. 软件学报,2013,24(1): 50-66.
[8]梁轲.网站服务器中存在的安全问题和解决办法[J]. 信息安全与技术, 2014, 5(5): 73-74.
[9]郭强,夏向阳,赵莉.高校科技成果转化影响因素及对策研究[J].科技进步与对策,2012, 29(6):151-153.
[10]王飞跃.知识产生方式和科技决策支撑的重大变革——面向大数据和开源信息的科技态势解析与决策服务[J]. 中国科学院院刊, 2012, 27(5): 527-537.
Design and Implementation of the University Scientific and Technological Achievements Transformation Website
Wang Yong1,Zou Mi2
(1.Office of Science and Technology,Jilin University,Changchun,130012,China;2.Center for Computer Fundamental Education,Jilin University,Changchun 130012,China)
Abstract:Transformation website of scientific and technological achievements is an important platform for collecting,releasing and retrieving scientific and technical information.With the JSP programming technology,WEB server,database and B/S model,a scientific and technological achievement transformation website was designed,which is based on the analysis of business requirement of university’s scientific and technological achievements transformation.
Keywords:Transformation of Scientific and Technological Achievements;Universities;JSP;Database