✨作者主页:IT研究室✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
随着科技的进步和农业的信息化发展,农业管理系统在提高农业生产效率、优化资源配置、提升农产品质量等方面发挥着重要作用。在此背景下,农事管理系统逐渐成为农业领域的研究热点。本课题旨在开发一款农事管理系统,以解决农业生产过程中的一系列问题,提高农业管理的信息化水平。
尽管目前已经存在一些农业管理系统,但它们往往存在以下问题:
功能单一:现有的系统往往只关注某一特定方面,如公告信息管理、商品信息管理、土地规划管理等,而缺乏对农业生产全过程的管理。
数据孤立:各系统间的数据无法共享,导致数据孤岛现象严重,管理者难以获得农业生产数据。
用户体验差:现有的系统往往操作复杂,用户友好性差,使得用户难以快速上手使用。
缺乏数据分析与决策支持:现有的系统往往缺乏对农业生产数据的深入挖掘和分析,无法为管理者提供决策支持。
本课题旨在开发一款农事管理系统,实现以下功能:
公告信息管理:及时发布农业政策、市场动态等信息。
商品信息管理:记录农产品种类、价格、销售情况等信息。
商品订单管理:实现农产品的订单跟进与数据统计。
土地规划管理:对土地资源进行规划和管理,提高土地使用效率。
农作物管理:记录农作物的生长情况、病虫害情况等信息,并进行数据统计。
农事安排管理:制定合理的农事计划,安排农业生产活动。
选苗育种管理:对种苗选择和培育进行记录和管理。
气象数据管理:收集、存储和展示气象数据,为农业生产提供参考。
监控节点管理:对农业监控节点进行设置和管理。
监控记录管理:对监控设备所收集的数据进行存储和管理。
用户管理:对系统用户进行分类和管理。
员工管理:对农业员工进行分类和管理。
基础数据管理:对系统的基础数据进行管理和维护。
本系统的研究目的在于解决现有农业管理系统存在的问题,提高农业管理的效率,为农业生产提供有力的支持。
本课题的研究意义在于:
提高农业生产效率:通过农事管理系统,可以更好地规划和管理农业生产活动,提高农业生产效率。
优化资源配置:通过系统对土地、劳动力、资金等资源的优化配置,可以更好地满足农业生产的需求。
/**
* 依图上传数据
*/
public class HttpUtils {
public static void main(String[] args) {
}
/**
* 发送HttpPost请求
*
* @param strURL
* 服务地址
* @param params
* json字符串,例如: "{ \"id\":\"12345\" }" ;其中属性名必须带双引号
* @return 成功:返回json字符串
*/
public static String post(String strURL, String params, String token) {
String value = "";
try {
trustAllHttpsCertificates();
URL url = new URL(strURL);// 创建连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
((HttpsURLConnection) connection).setHostnameVerifier(new HttpUtils().new TrustAnyHostnameVerifier());
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("POST"); // 设置请求方式
connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式
connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式
connection.setRequestProperty("Authorization", token); // 设置请求的token
connection.setRequestProperty("Connection", "keep-alive"); // 设置连接的状态
connection.setConnectTimeout(10000); // 连接超时 单位毫秒
connection.setReadTimeout(10000); // 读取超时 单位毫秒
connection.connect();
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8编码
out.append(params);
out.flush();
out.close();
BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder(); // 用来存储响应数据
// 循环读取流,若不到结尾处
while ((line = bf.readLine()) != null) {
// sb.append(bf.readLine());
sb.append(line).append(System.getProperty("line.separator"));
}
bf.close(); // 重要且易忽略步骤 (关闭流,切记!)
connection.disconnect(); // 销毁连接
value = sb.toString();
// System.out.println(value);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("创建连接超时或失败。。。。。");
value = "";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return value; // 自定义错误信息
}
/**
* 接口调用 GET
*/
public static String httpURLConectionGET(String strURL, String token) {
String value = "";
try {
trustAllHttpsCertificates();
URL url = new URL(strURL);// 创建连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
((HttpsURLConnection) connection).setHostnameVerifier(new HttpUtils().new TrustAnyHostnameVerifier());
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("GET"); // 设置请求方式
connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式
connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式
connection.setRequestProperty("Authorization", token); // 设置请求的token
connection.setRequestProperty("Connection", "keep-alive"); // 设置连接的状态
connection.setConnectTimeout(10000); // 连接超时 单位毫秒
connection.setReadTimeout(10000); // 读取超时 单位毫秒
connection.connect();// 连接会话
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "GBK"));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 循环读取流
sb.append(line);
}
br.close();// 关闭流
connection.disconnect();// 断开连接
value = sb.toString();
} catch (Exception e) {
// e.printStackTrace();
System.out.println("创建连接超时或失败。。。。。");
}
return value; // 自定义错误信息
}
/**
* 接口调用DELETE
*/
public static String httpURLConectionDELETE(String strURL, String token) {
String value = "";
try {
trustAllHttpsCertificates();
URL url = new URL(strURL);// 创建连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
((HttpsURLConnection) connection).setHostnameVerifier(new HttpUtils().new TrustAnyHostnameVerifier());
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("DELETE"); // 设置请求方式
connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式
connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式
connection.setRequestProperty("Authorization", token); // 设置请求的token
connection.setRequestProperty("Connection", "keep-alive"); // 设置连接的状态
connection.connect();// 连接会话
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 循环读取流
sb.append(line);
}
br.close();// 关闭流
connection.disconnect();// 断开连接
value = sb.toString();
} catch (Exception e) {
e.printStackTrace();
System.out.println("失败!");
}
return value; // 自定义错误信息
}
public class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hostname, SSLSession session) {
// 直接返回true
return true;
}
}
private static void trustAllHttpsCertificates() throws Exception {
javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm = new miTM();
trustAllCerts[0] = tm;
javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException {
return;
}
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException {
return;
}
}
}
public class ImgUtil {
public static String getImageStr(String imgSrcPath){
InputStream inputStream = null;
ByteArrayOutputStream outputStream = null;
byte[] buffer = null;
try {
// 创建URL
URL url = new URL(imgSrcPath);
// 创建链接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
inputStream = conn.getInputStream();
outputStream = new ByteArrayOutputStream();
// 将内容读取内存中
buffer = new byte[1024];
int len = -1;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
buffer = outputStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
// 关闭inputStream流
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outputStream != null) {
try {
// 关闭outputStream流
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 对字节数组Base64编码
return new BASE64Encoder().encode(buffer);
}
public static void main(String[] strings){
System.out.println(getImageStr("https://p.ssl.qhimg.com/dmfd/400_300_/t01ddd5a570aac46f9b.png"));
}
}
/**
* 说明:MD5处理
* @version
*/
public class MD5 {
public static String md5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
str = buf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
}
农事管理系统项目视频:
计算机毕业设计选题推荐-农事管理系统-Java项目实战
计算机毕业设计选题推荐-农事管理系统-Java项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目