摘要
社会的进步导致人们对于学习的追求永不止境,那么追求农业信息化的方式也从单一的田地教程变成了多样化的学习方式。多样化的学习方式不仅仅是需要人们智慧的依靠,还需要能够通过软件的加持进行信息化的价值体现。软件和系统的产生,从表面上来看是方便了某一行业和某一行业的用户,其实是从本质上来说是提高了社会的进步。就拿我们常见的出行而言,滴滴出行看似是为了打车和出行的人方便,但其实通过另外一种程度上来说,可以通过软件应用的调度和发展来为社会、城市出行的发展做出巨大的贡献。我们国家从最早的中国制造业演变到现在的“智造”,就是因为有软件信息系统的价值,能够将一些智慧的因素加入到制造的过程当中,而这一点就是软件系统来改变生产和现实的需求。在计算机时代日益发展的今天,计算机网络正快速融入这个社会的每一个领域。农业的发展是社会当中一种必有可少的方式。果树在种植和培养是直接影响果农及果商的发展,但在果树的资源管理方面还是有着很大的不同,所以信息多样化的果树管理方式很重要。在传统的果树资源管理上还有着很大的约束,为此开发和设计JSP杏种质资源管理系统,该系统内容丰富多彩,用户可以在线进行果杏树的资源查询等。本文还是使用JSP的方式来进行管理的,但在系统建设过程当中也考虑了许许多多信息安全的保护。
关键词:果树,JSP, 资源管理
系统页面实现
首页
管理员登录页面
用户管理页面
省份信息查询
开发目的和意义
我们都知道信息化就是我们日常当中的生活,它不仅存在我们生活中点点滴滴的存在,而且还在农业等行业中存在着,影响着我们生活中的各个方面。信息化软件的力量足可以撼动整个社会乃至整个人类生活的情况。这次我们的设计所做的应用也是根据现实生活当中的需求来进行针对性的功能解决的,所有的业务也好,功能啥的都是根据实际的需求设计而来。信息通信技术的发展和互联网技术的加持造就了我们今天这快速方便的互通时代,从最早的飞信通过再到QQ交流,慢慢发展成为现在的微信语音,每一个软件每一种技术改变了我们原先应有的生活方式。不仅仅只是发生在通信方面,生活中的方方面面都在发生着种种不一样的变化。有了AR我们可以不再受地域和空间的限制,推出AR实景,就连“汽车之家”这些类的APP上也都可以进行AR实景看车了,真可谓是改变生活的一大乐趣。由此可见,各种各样应运而生的信息化软件都是为了解决生活当中的问题的,我们也不例外,就是为了能够解决这样或者那样的问题才进行的设计。随着人们的生活水平不断提高,人们对于水果的要求变得更加的细化,那么对于果农来说对于树种的管理却成为了一个很大的难题,不仅需要记录着树种资源的各种信息,还需要在第一时间能进行查看。基于此背景之下研发一款基于JSP的杏种质资源管理系统,通过信息化的方式来解决这些问题就变得非常的容易了。
部分代码
package com.controller;
import java.io.File;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.entity.Shushizhibiao;
import com.server.ShushizhibiaoServer;
import com.util.PageBean;
import net.sf.json.JSONObject;
import com.util.db;
import java.sql.SQLException;
import java.sql.*;
@Controller
public class ShushizhibiaoController {
@Resource
private ShushizhibiaoServer shushizhibiaoService;
@RequestMapping("addShushizhibiao.do")
public String addShushizhibiao(HttpServletRequest request,Shushizhibiao shushizhibiao,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
String sql="";
sql="select id from shushizhibiao where 1=1 and guoshubianhao='"+shushizhibiao.getGuoshubianhao()+"'";
db dboxc = new db();
ResultSet rs=null;
rs=dboxc.executeQuery(sql);
int tt=0;
while(rs.next()){
tt++;
}
if(tt>=1)
{
session.setAttribute("backxx", "已有记录");
session.setAttribute("backurl", request.getHeader("Referer"));
//session.setAttribute("backurl", "shushizhibiaoList.do");
return "redirect:postback.jsp";
//return "redirect:shushizhibiaoList.do";
}
shushizhibiao.setAddtime(time.toString().substring(0, 19));
shushizhibiaoService.add(shushizhibiao);
db dbo = new db();
//kuabiaogaizhi
session.setAttribute("backxx", "添加成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
@RequestMapping("addShushizhibiaoqt.do")
public String addShushizhibiaoqt(HttpServletRequest request,Shushizhibiao shushizhibiao,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
String sql="";
sql="select id from shushizhibiao where 1=1 and guoshubianhao='"+shushizhibiao.getGuoshubianhao()+"'";
db dboxc = new db();
ResultSet rs=null;
rs=dboxc.executeQuery(sql);
int tt=0;
while(rs.next()){
tt++;
}
if(tt>=1)
{
session.setAttribute("backxx", "已约满!操作失败");
session.setAttribute("backurl", request.getHeader("Referer"));
//session.setAttribute("backurl", "shushizhibiaoList.do");
return "redirect:postback.jsp";
//return "redirect:shushizhibiaoList.do";
}
shushizhibiao.setAddtime(time.toString().substring(0, 19));
shushizhibiaoService.add(shushizhibiao);
db dbo = new db();
//kuabiaogaizhi
session.setAttribute("backxx", "添加成功");
session.setAttribute("backurl", request.getHeader("Referer"));
return "redirect:postback.jsp";
}
// 处理编辑
@RequestMapping("doUpdateShushizhibiao.do")
public String doUpdateShushizhibiao(int id,ModelMap map,Shushizhibiao shushizhibiao){
shushizhibiao=shushizhibiaoService.getById(id);
map.put("shushizhibiao", shushizhibiao);
return "shushizhibiao_updt";
}
// 后台详细
@RequestMapping("shushizhibiaoDetail.do")
public String shushizhibiaoDetail(int id,ModelMap map,Shushizhibiao shushizhibiao){
shushizhibiao=shushizhibiaoService.getById(id);
map.put("shushizhibiao", shushizhibiao);
return "shushizhibiao_detail";
}
// 前台详细
@RequestMapping("sszbDetail.do")
public String sszbDetail(int id,ModelMap map,Shushizhibiao shushizhibiao){
shushizhibiao=shushizhibiaoService.getById(id);
map.put("shushizhibiao", shushizhibiao);
return "shushizhibiaodetail";
}
//
@RequestMapping("updateShushizhibiao.do")
public String updateShushizhibiao(int id,ModelMap map,Shushizhibiao shushizhibiao,HttpServletRequest request,HttpSession session){
shushizhibiaoService.update(shushizhibiao);
session.setAttribute("backxx", "修改成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
// 分页查询
@RequestMapping("shushizhibiaoList.do")
public String shushizhibiaoList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Shushizhibiao shushizhibiao, String guoshubianhao, String guoshumingcheng, String guoshupinzhong, String shugao, String guanfu, String zhuchan, String guoshifayuqi, String chengshuqi, String yingyangshengchangqi, String qita){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(guoshubianhao==null||guoshubianhao.equals("")){pmap.put("guoshubianhao", null);}else{pmap.put("guoshubianhao", guoshubianhao);}
if(guoshumingcheng==null||guoshumingcheng.equals("")){pmap.put("guoshumingcheng", null);}else{pmap.put("guoshumingcheng", guoshumingcheng);}
if(guoshupinzhong==null||guoshupinzhong.equals("")){pmap.put("guoshupinzhong", null);}else{pmap.put("guoshupinzhong", guoshupinzhong);}
if(shugao==null||shugao.equals("")){pmap.put("shugao", null);}else{pmap.put("shugao", shugao);}
if(guanfu==null||guanfu.equals("")){pmap.put("guanfu", null);}else{pmap.put("guanfu", guanfu);}
if(zhuchan==null||zhuchan.equals("")){pmap.put("zhuchan", null);}else{pmap.put("zhuchan", zhuchan);}
if(guoshifayuqi==null||guoshifayuqi.equals("")){pmap.put("guoshifayuqi", null);}else{pmap.put("guoshifayuqi", guoshifayuqi);}
if(chengshuqi==null||chengshuqi.equals("")){pmap.put("chengshuqi", null);}else{pmap.put("chengshuqi", chengshuqi);}
if(yingyangshengchangqi==null||yingyangshengchangqi.equals("")){pmap.put("yingyangshengchangqi", null);}else{pmap.put("yingyangshengchangqi", yingyangshengchangqi);}
if(qita==null||qita.equals("")){pmap.put("qita", null);}else{pmap.put("qita", qita);}
int total=shushizhibiaoService.getCount(pmap);
pageBean.setTotal(total);
List<Shushizhibiao> list=shushizhibiaoService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "shushizhibiao_list";
}
@RequestMapping("shushizhibiaoList2.do")
public String shushizhibiaoList2(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Shushizhibiao shushizhibiao, String guoshubianhao, String guoshumingcheng, String guoshupinzhong, String shugao, String guanfu, String zhuchan, String guoshifayuqi, String chengshuqi, String yingyangshengchangqi, String qita,HttpServletRequest request){
/*if(session.getAttribute("user")==null){
return "login";
}*/
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 15);
if(guoshubianhao==null||guoshubianhao.equals("")){pmap.put("guoshubianhao", null);}else{pmap.put("guoshubianhao", guoshubianhao);}
if(guoshupinzhong==null||guoshupinzhong.equals("")){pmap.put("guoshupinzhong", null);}else{pmap.put("guoshupinzhong", guoshupinzhong);}
if(shugao==null||shugao.equals("")){pmap.put("shugao", null);}else{pmap.put("shugao", shugao);}
if(guanfu==null||guanfu.equals("")){pmap.put("guanfu", null);}else{pmap.put("guanfu", guanfu);}
if(zhuchan==null||zhuchan.equals("")){pmap.put("zhuchan", null);}else{pmap.put("zhuchan", zhuchan);}
if(guoshifayuqi==null||guoshifayuqi.equals("")){pmap.put("guoshifayuqi", null);}else{pmap.put("guoshifayuqi", guoshifayuqi);}
if(chengshuqi==null||chengshuqi.equals("")){pmap.put("chengshuqi", null);}else{pmap.put("chengshuqi", chengshuqi);}
if(yingyangshengchangqi==null||yingyangshengchangqi.equals("")){pmap.put("yingyangshengchangqi", null);}else{pmap.put("yingyangshengchangqi", yingyangshengchangqi);}
if(qita==null||qita.equals("")){pmap.put("qita", null);}else{pmap.put("qita", qita);}
int total=shushizhibiaoService.getCount(pmap);
pageBean.setTotal(total);
List<Shushizhibiao> list=shushizhibiaoService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "shushizhibiao_list2";
}
@RequestMapping("sszbList.do")
public String sszbList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Shushizhibiao shushizhibiao, String guoshubianhao, String guoshumingcheng, String guoshupinzhong, String shugao, String guanfu, String zhuchan, String guoshifayuqi, String chengshuqi, String yingyangshengchangqi, String qita){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(guoshubianhao==null||guoshubianhao.equals("")){pmap.put("guoshubianhao", null);}else{pmap.put("guoshubianhao", guoshubianhao);}
if(guoshumingcheng==null||guoshumingcheng.equals("")){pmap.put("guoshumingcheng", null);}else{pmap.put("guoshumingcheng", guoshumingcheng);}
if(guoshupinzhong==null||guoshupinzhong.equals("")){pmap.put("guoshupinzhong", null);}else{pmap.put("guoshupinzhong", guoshupinzhong);}
if(shugao==null||shugao.equals("")){pmap.put("shugao", null);}else{pmap.put("shugao", shugao);}
if(guanfu==null||guanfu.equals("")){pmap.put("guanfu", null);}else{pmap.put("guanfu", guanfu);}
if(zhuchan==null||zhuchan.equals("")){pmap.put("zhuchan", null);}else{pmap.put("zhuchan", zhuchan);}
if(guoshifayuqi==null||guoshifayuqi.equals("")){pmap.put("guoshifayuqi", null);}else{pmap.put("guoshifayuqi", guoshifayuqi);}
if(chengshuqi==null||chengshuqi.equals("")){pmap.put("chengshuqi", null);}else{pmap.put("chengshuqi", chengshuqi);}
if(yingyangshengchangqi==null||yingyangshengchangqi.equals("")){pmap.put("yingyangshengchangqi", null);}else{pmap.put("yingyangshengchangqi", yingyangshengchangqi);}
if(qita==null||qita.equals("")){pmap.put("qita", null);}else{pmap.put("qita", qita);}
int total=shushizhibiaoService.getCount(pmap);
pageBean.setTotal(total);
List<Shushizhibiao> list=shushizhibiaoService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "shushizhibiaolist";
}
@RequestMapping("sszbListtp.do")
public String sszbListtp(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Shushizhibiao shushizhibiao, String guoshubianhao, String guoshumingcheng, String guoshupinzhong, String shugao, String guanfu, String zhuchan, String guoshifayuqi, String chengshuqi, String yingyangshengchangqi, String qita){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(guoshubianhao==null||guoshubianhao.equals("")){pmap.put("guoshubianhao", null);}else{pmap.put("guoshubianhao", guoshubianhao);}
if(guoshumingcheng==null||guoshumingcheng.equals("")){pmap.put("guoshumingcheng", null);}else{pmap.put("guoshumingcheng", guoshumingcheng);}
if(guoshupinzhong==null||guoshupinzhong.equals("")){pmap.put("guoshupinzhong", null);}else{pmap.put("guoshupinzhong", guoshupinzhong);}
if(shugao==null||shugao.equals("")){pmap.put("shugao", null);}else{pmap.put("shugao", shugao);}
if(guanfu==null||guanfu.equals("")){pmap.put("guanfu", null);}else{pmap.put("guanfu", guanfu);}
if(zhuchan==null||zhuchan.equals("")){pmap.put("zhuchan", null);}else{pmap.put("zhuchan", zhuchan);}
if(guoshifayuqi==null||guoshifayuqi.equals("")){pmap.put("guoshifayuqi", null);}else{pmap.put("guoshifayuqi", guoshifayuqi);}
if(chengshuqi==null||chengshuqi.equals("")){pmap.put("chengshuqi", null);}else{pmap.put("chengshuqi", chengshuqi);}
if(yingyangshengchangqi==null||yingyangshengchangqi.equals("")){pmap.put("yingyangshengchangqi", null);}else{pmap.put("yingyangshengchangqi", yingyangshengchangqi);}
if(qita==null||qita.equals("")){pmap.put("qita", null);}else{pmap.put("qita", qita);}
int total=shushizhibiaoService.getCount(pmap);
pageBean.setTotal(total);
List<Shushizhibiao> list=shushizhibiaoService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "shushizhibiaolisttp";
}
@RequestMapping("deleteShushizhibiao.do")
public String deleteShushizhibiao(int id,HttpServletRequest request,HttpSession session){
shushizhibiaoService.delete(id);
session.setAttribute("backxx", "删除成功");session.setAttribute("backurl", request.getHeader("Referer"));return "redirect:postback.jsp";
}
}
可行性分析
运行可行性从一定程度上来讲就是应用系统。通过开发和实现起来,在其服务器上是否能够运行,其实,运行可行性还主要是有经济可行性和软件的操作可行性等技术可行性支撑而言。首先,在技术可行性中,如果能够实现的话就能够表明业务所需要的处理角度或者范围都能够通过技术而实现,那么我们把这些可行性最终综合到应用服务器当中,达到运行可行性的需求。本文其实在应用服务器中的运行可行性就是一台普通的电脑,它的请求并发量并不是很大,所以运行可行性是可行的。
操作可行性方面就是要考虑用户的习惯了,那么什么样的设计可能让用户感觉头疼,什么样的设计又能让用户感觉友好程度很高呢?这就需要我们在操作可行性上有所体现。所体现出来的。就目前而言,市面上所有BS的应用来说,布局方式、操作方法都是常见的那几种,所以我们只需参考他人成功的经验即可。在操作上,只要不做出任何奇形怪状的操作,那么对于操作可行性来说是完全没有问题的。
对于技术而言来说,项目本身就是一个技术的实现,而我们在大学中所学的语言也是主流的语言,比如说对于后台语言来说有PHP 、Java等,对于数据库来说有MySQL、SQL server等,这些都是在大学当中平常的课程,所以在技术方面。我们所接触的是主流开源技术。如果一旦遇到了。技术上有不懂的问题,那么也可以通过互联网或者是其他同学得到帮助,这样一来,技术上完全是可行的。
功能需求
基于JSP的杏种质资源管理系统主要还是不同用户来进行功能性的区别的。主要有管理员和普通用户两种角色,管理员的主要功能包括系统用户管理、用户管理、果树品种管理、省份管理、树体指标管理、抗逆性管理和果树管理。普通用户功能包括个人资料管理、树体指标管理、抗逆性管理和果树管理。
系统软件部署
系统的作用不光光只是停留在开发阶段,我们一般项目上都会有不同的环境。我们软件开发出来一定只是要部署的。那么系统的部署虽然是在软件开发的最后一个阶段,但确实也是非常重要的,大家都应该也知道系统的应用部署是要从多个方面进行考虑的,首先要考虑的一点就是系统用户使用的并发速,如果难以估量并发出的话,可以通过日常的在线用户数和注册人数进行一个估量,一般并发数就是在线用户数的20%左右。例如我们真正用户使用数有100人,那么可能他的在线并发数就是20人,当我们的应用部署所考虑的注册人数一旦超过一定的人数时,我们需要做对应用服务器的集群,那么通过网关的负载均衡,就可均匀地将所发来的请求分摊给不同的服务器,然后再由服务器转发到数据库当中,作为增删改查的一个基础。当然,不同的数据库之间肯定是要做一个session的共享是以免每一个数据库的请求都要进行登录。这些问题都是需要在系统开发的前期进行一个考量,因为在后面的话,可能会系统的软件部署影响前期开发的技术选型,所以说每一个环节都是很重要的。