"JavaWeb实战:分类数据展示与分页功能实现"

需积分: 0 0 下载量 56 浏览量 更新于2024-01-16 收藏 713KB DOCX 举报
本综合案例主要涉及到JavaWeb中的分类数据展示与分页数据展示功能。在学习过程中,我们需要完成BaseServlet的抽取,并且实现分类数据的展示和旅游线路的分页展示。 首先,在本案例的学习目标中,我们需要掌握完成分类数据展示功能和分页数据展示功能的能力。分类数据展示功能主要是通过查询数据库中的分类信息,将其展示在页面上,从而让用户可以以分类的方式进行筛选与浏览。而分页数据展示功能则是将查询结果进行分页,以便用户能够方便地浏览更多的数据。 在实现上述功能之前,我们首先需要完成BaseServlet的抽取。BaseServlet是一个通用的Servlet,它会负责接收HTTP请求并根据不同的请求路径进行不同的处理。通过抽取BaseServlet,我们可以将一些通用的处理逻辑提取出来,在具体的Servlet中只需关注特定的业务逻辑即可。 接下来,我们需要完成分类数据的展示。在这一步中,我们需要查询数据库中的分类表,并将查询结果返回给页面进行展示。通过展示分类数据,用户可以根据不同的分类进行筛选,从而找到自己感兴趣的旅游线路。 在完成分类数据展示之后,我们需要实现旅游线路的分页展示功能。分页展示功能主要是将查询结果按照一页显示固定数量的数据进行分页,并提供上一页和下一页的按钮供用户进行翻页操作。通过分页展示功能,用户可以更加方便地浏览并选择自己喜欢的旅游线路。 通过完成上述所述功能,我们可以实现一个完整的分类数据展示与分页数据展示的JavaWeb应用。在学习过程中,我们不仅仅学会了如何使用JavaWeb技术进行开发,还学会了如何设计和实现一个具有常见功能的Web应用。 总结起来,本综合案例通过抽取BaseServlet、实现分类数据展示和旅游线路的分页展示三个步骤,帮助我们掌握了JavaWeb中分类数据展示与分页数据展示的实现方式。通过这个案例的学习,我们不仅学会了一些具体的技术实现方式,还对JavaWeb的开发思路和流程有了更加深入的理解。

保留原本功能优化以下代码import pandas as pd import numpy as np import matplotlib.pyplot as plt # 1.读取并查看数据 bike_day = pd.read_csv("C:/Users/15020/Desktop/26.bike_day.csv") print(bike_day.head(5)) # 前5行 print(bike_day.tail(2)) #后2行 #2.处理数据并导出到文件 bike_day_user = bike_day[['instant','dteday','yr', 'casual', 'registered']].dropna() bike_day_user.to_csv('bike_day_user.txt', sep=' ',index=False, header=False) #3.读取数据并添加新列并导出到新文件 bike_day_user = pd.read_csv('bike_day_user.txt', sep=' ', header=None, names=['instant','dteday','yr', 'casual',"registered"]) bike_day_user['cnt'] = bike_day_user['casual'] + bike_day_user['registered'] bike_day_user.to_excel('bike_day_user_cnt.xlsx', index=False) #4.读取数据并进行统计 bike_day_user_cnt = pd.read_excel('bike_day_user_cnt.xlsx') print('cnt最大值:',bike_day_user_cnt['cnt'].max()) print('ent最小值:',bike_day_user_cnt['cnt'].min()) print('2011号cnt年平均值:',bike_day_user_cnt[bike_day_user_cnt['yr'] == 0]['cnt'].mean()) print('2012年cnt年平均值:',bike_day_user_cnt[bike_day_user_cnt['yr'] == 1]['cnt'].mean()) print('2011年月严始值:', bike_day_user_cnt[bike_day_user_cnt['yr'] == 0].groupby('mnth')['cnt'].mean()) print('2022年月平均值:', bike_day_user_cnt[bike_day_user_cnt['yr'] == 1].groupby('mnth')['cnt'].mean()) # 5.可视化并保存图像 fig, ax = plt.subplots() ax.barh(bike_day_user_cnt['mnth'], bike_day_user_cnt[bike_day_user_cnt['yr'] == 0].groupby('mnth')['cnt'].mean(), color='blue', label='2011') ax.barh(bike_day_user_cnt['mnth'], bike_day_user_cnt[bike_day_user_cnt['yr'] == 1].groupby('mnth')['cnt'].mean(), color='lightblue', label='2012') ax.set_yticks(np.arange(1,13)) ax.set_yticklabels(['Jan','Feb','Mar', 'Apr', 'May','Jun','Jul','Aug', 'sep', 'Oct','Nov','Dec']) ax.set_xlabel('Average number of shared bike users') ax.set_title('Monthly Average Number of Shared Bike Users in 2011-2012') ax.legend() fig.savefig('bike_day_user_cnt.png', dpi=300)

2023-06-03 上传

#include <iostream> #include <cstdio> #include <cstring> using namespace std; const char* Haab_month_name[] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"}; int Tzolkin_day_number[20] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, 3, 4, 5, 6, 7}; const char *Tzolkin_day_name[] = {"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"}; struct Date { int day; int month; int year; }; // 把哈布历转换成天数 int haab_to_days(int day, const char* month, int year) { int total_days = day + (year * 365); int month_index; for (month_index = 0; month_index < 19; ++month_index) { if (strcmp(Haab_month_name[month_index], month) == 0) { break; } } total_days += month_index * 20; return total_days; } // 把天数转换成托尔金历 void days_to_tzolkin(int total_days, int* day_number, const char** day_name) { int tzolkin_day_count = total_days % 13; int tzolkin_day_index = tzolkin_day_count - 1; if (tzolkin_day_index < 0) tzolkin_day_index = 12; int tzolkin_day_number = Tzolkin_day_number[tzolkin_day_index]; const char *tzolkin_day_name = Tzolkin_day_name[(total_days % 20)]; *day_number = tzolkin_day_number; *day_name = tzolkin_day_name; } int main() { int N; cin >> N; cout << N << endl; for (int i = 0; i < N; ++i) { Date date; char dot; scanf("%d%c%d%s%d", &date.day, &dot, &date.month, Haab_month_name, &date.year); int total_days = haab_to_days(date.day, Haab_month_name, date.year); int tzolkin_day_number; const char *tzolkin_day_name; days_to_tzolkin(total_days, &tzolkin_day_number, &tzolkin_day_name); printf("%d %s %d\n", tzolkin_day_number, tzolkin_day_name, date.year); } return 0; }

2023-06-06 上传