每日总结2023/12/25
软件构造实验作业
实验名称:
班级:信2105-1 学号:20214153 姓名:赵金荣
实验一:百度机器翻译SDK实验
一、实验要求
任务一:下载配置百度翻译Java相关库及环境(占10%)。
任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。
任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。
任务四:完成百度翻译GUI相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。
实验总结:(占10%)
二、实验步骤
任务一:下载配置百度翻译Java相关库及环境
或者通过jar包都可以完成
我主要通过maven的形式导入相关环境依赖。
<dependency> <!-- https://mvnrepository.com/artifact/org.json/json -->
|
任务二:
文本翻译-通用版
请求说明
请求示例
HTTP 方法:POST
请求 URL:https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1
URL 参数:
参数 |
值 |
access_token |
通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header 如下:
参数 |
值 |
Content-Type |
application/json;charset=utf-8 |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
类型 |
是否必须 |
描述 |
备注 |
from |
text |
是 |
翻译源语言 |
可设置为auto |
to |
text |
是 |
翻译目标语言 |
不可设置为auto |
q |
text |
是 |
请求翻译query |
|
termIds |
text |
否 |
术语库id |
一次请求最多支持10个术语库,中间用英文逗号隔开;若相同的术语出现在多个术语库中,则排在前面的术语库生效优先级高 |
例如body中请求参数:
{"q":"hello","from":"en","to":"zh","termIds":"xx1,xx2"}
- 正常返回
参数 |
类型 |
是否必须 |
描述 |
备注 |
log_id |
uint64 |
是 |
唯一的log id,用于问题定位 |
|
result |
object |
是 |
返回结果json串,其内包含要调用的各个模型服务的返回结果 |
|
+from |
text |
是 |
源语种方向 |
|
+to |
text |
是 |
目标语种方向 |
|
+trans_result |
array |
是 |
翻译结果 |
|
++src |
text |
是 |
翻译原文 |
源query中若存在换行符号,翻译结果会分段返回 |
++dst |
text |
是 |
译文 |
源query中若存在换行符号,翻译结果会分段返回 |
- 异常返回
参数 |
类型 |
是否必须 |
描述 |
log_id |
uint64 |
是 |
唯一的log id,用于问题定位 |
error_msg |
text |
是 |
错误消息体 |
error_code |
text |
是 |
错误码 |
错误码总结:
接口流控及鉴权错误码
错误码 |
错误信息 |
描述 |
解决方法 |
1 |
Unknown error |
未知错误 |
请重试 |
2 |
Service temporarily unavailable |
服务处理超时 |
请重试 |
4 |
Open api request limit reached |
集群超限额 |
请重试 |
6 |
no permission to access data |
没有接口权限 |
请确认您调用的接口已经被赋权。企业认证生效时间为1小时左右,使用需要企业认证的服务,请等待生效后重试 |
18 |
Open api qps request limit reached |
QPS超限额 |
请降低您的调用频率 |
19 |
Open api total request limit reached |
请求总量超限额 |
请检查当前可用字符/次数包额度 |
100 |
Invalid parameter |
请求参数不合法 |
请检查请求参数是否正确,可能的原因是token拉取失败,无效的access token参数等 |
110 |
Access token invalid or no longer valid |
Access Token失效 |
token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
111 |
Access token expired |
Access token过期 |
token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
通用及业务错误码
错误码 |
错误信息 |
描述 |
解决方法 |
31001 |
auth unknown error |
其他错误 |
请重试 |
31005 |
auth open api usage limit reached |
用户用量超限 |
请检查当前可用字符/次数包额度 |
31006 |
auth internal error |
内部错误 |
请重试 |
31101 |
translate request timeout |
请求超时 |
请重试 |
31102 |
translate internal error |
系统错误 |
请重试 |
31103 |
translate parameter error |
必填参数为空或固定参数有误 |
请检查参数是否为空或误传 |
31104 |
translate frequency limited |
访问频率受限 |
请降低您的调用频率 |
31105 |
translate target language not supported |
译文语言方向不支持 |
请检查译文语言是否在语言列表里 |
31106 |
translate query string too long |
query字符超过最大长度 |
请减少翻译原文的长度(最长不得超过6000字节) |
31201 |
engine-biz query string too long |
请求翻译的原文太长 |
请减少翻译原文的长度(最长不得超过6000字节) |
31202 |
engine-biz query string is empty |
请求翻译的原文为空 |
请检查翻译原文内容是否为空 |
31203 |
engine-biz parameter invalid |
请求翻译的参数有误(目前校验header/param中鉴权必要参数不能为空) |
请检查参数是否为空或误传 |
282000 |
internal error |
内部错误 |
请重试 |
282003 |
missing required parameter(s) |
请求翻译时存在必填参数为空 |
请检查必填参数(比如q、from、to等)是否为空 |
282004 |
invalid parameter(s) |
请求翻译时请求体无法解析 |
请检查请求体格式等是否正确 |
文本翻译-词典版
在文本翻译-通用版的基础上,提供词典资源和语音合成资源。 词典资源 词典分中英词典,由于每个词属性不同,词典结果不一定包含所有部分。 如源语言为中文,词典数据包括:拼音、词性、中文释义、英文释义、近义词等资源。 如源语言为英文,词典数据包括:英文释义、中文释义、音标、核心词汇类别等。 注:1. 单个 query 需为词、词组或短语,如 query 为句子,则 dict 字段为空。2. 因目前只支持英、中语种,from_lang的参数需等于en或者zh才可以返回 dict 字段。 语音合成资源: 语音合成资源包含 query 原文、译文的发音,支持中文、英文,以 mp3 文件格式提供。 注:单个query内不支持分段,只有1段且字符数量不超过200的query才会返回tts字段。
|
请求示例
HTTP 方法:POST
请求 URL:https://aip.baidubce.com/rpc/2.0/mt/texttrans-with-dict/v1
URL 参数:
参数 |
值 |
access_token |
通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header 如下:
参数 |
值 |
Content-Type |
application/json;charset=utf-8 |
Body中放置请求参数,参数详情如下:
请求参数
参数 |
类型 |
是否必须 |
描述 |
备注 |
from |
text |
是 |
翻译源语言 |
可设置为auto |
to |
text |
是 |
翻译目标语言 |
不可设置为auto |
q |
text |
是 |
请求翻译query |
|
termIds |
text |
否 |
术语库id |
一次请求最多支持10个术语库,中间用英文逗号隔开;若相同的术语出现在多个术语库中,则排在前面的术语库生效优先级高 |
例如body中请求参数:
{"q":"hello","from":"en","to":"zh","termIds":"xx1,xx2"}
返回参数
- 正常返回
参数 |
类型 |
是否必须 |
描述 |
备注 |
log_id |
uint64 |
是 |
唯一的log id,用于问题定位 |
|
result |
object |
是 |
返回结果json串,其内包含要调用的各个模型服务的返回结果 |
|
+from |
text |
是 |
源语种方向 |
|
+to |
text |
是 |
目标语种方向 |
|
+trans_result |
array |
是 |
翻译结果 |
|
++src |
text |
是 |
翻译原文 |
源query中若存在换行符号,翻译结果会分段返回 |
++dst |
text |
是 |
译文 |
源query中若存在换行符号,翻译结果会分段返回 |
++src_tts |
text |
是 |
原文tts |
|
++dst_tts |
text |
是 |
译文tts |
|
++dict |
object |
是 |
词典数据详情 |
- 异常返回
参数 |
类型 |
是否必须 |
描述 |
log_id |
uint64 |
是 |
唯一的log id,用于问题定位 |
error_msg |
text |
是 |
错误消息体 |
error_code |
text |
是 |
错误码 |
例如:
{
"log_id": 1413409483863477151,
"error_msg": "translate internal error",
"error_code": 31102
}
错误码列表
接口流控及鉴权错误码
错误码 |
错误信息 |
描述 |
解决方法 |
1 |
Unknown error |
未知错误 |
请重试 |
2 |
Service temporarily unavailable |
服务处理超时 |
请重试 |
4 |
Open api request limit reached |
集群超限额 |
请重试 |
6 |
no permission to access data |
没有接口权限 |
请确认您调用的接口已经被赋权。企业认证生效时间为1小时左右,使用需要企业认证的服务,请等待生效后重试 |
18 |
Open api qps request limit reached |
QPS超限额 |
请降低您的调用频率 |
19 |
Open api total request limit reached |
请求总量超限额 |
请检查当前可用字符/次数包额度 |
100 |
Invalid parameter |
请求参数不合法 |
请检查请求参数是否正确,可能的原因是token拉取失败,无效的access token参数等 |
110 |
Access token invalid or no longer valid |
Access Token失效 |
token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
111 |
Access token expired |
Access token过期 |
token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
通用及业务错误码
错误码 |
错误信息 |
描述 |
解决方法 |
31001 |
auth unknown error |
其他错误 |
请重试 |
31005 |
auth open api usage limit reached |
用户用量超限 |
请检查当前可用字符/次数包额度 |
31006 |
auth internal error |
内部错误 |
请重试 |
31101 |
translate request timeout |
请求超时 |
请重试 |
31102 |
translate internal error |
系统错误 |
请重试 |
31103 |
translate parameter error |
必填参数为空或固定参数有误 |
请检查参数是否为空或误传 |
31104 |
translate frequency limited |
访问频率受限 |
请降低您的调用频率 |
31105 |
translate target language not supported |
译文语言方向不支持 |
请检查译文语言是否在语言列表里 |
31106 |
translate query string too long |
query字符超过最大长度 |
请减少翻译原文的长度(最长不得超过6000字节) |
31201 |
engine-biz query string too long |
请求翻译的原文太长 |
请减少翻译原文的长度(最长不得超过6000字节) |
31202 |
engine-biz query string is empty |
请求翻译的原文为空 |
请检查翻译原文内容是否为空 |
31203 |
engine-biz parameter invalid |
请求翻译的参数有误(目前校验header/param中鉴权必要参数不能为空) |
请检查参数是否为空或误传 |
282000 |
internal error |
内部错误 |
请重试 |
282003 |
missing required parameter(s) |
请求翻译时存在必填参数为空 |
请检查必填参数(比如q、from、to等)是否为空 |
282004 |
invalid parameter(s) |
请求翻译时请求体无法解析 |
请检查请求体格式等是否正确 |
任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文
首先通过终端输入的方式实现了自定翻译词语以及选择切换英译汉或者汉译英。
设定字段根据输入内容自动填充进入
任务四:完成百度翻译GUI相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文
后续又优化添加了多种翻译
通过数据的不断填充以及下拉框数据的增加,可以实现多种翻译进行。
三、实验总结
本次实验学习了百度api接口的翻译调用,本次实验让我初次接触尝试了对api文档进行研究并且学习使用,在首次进行这样的尝试中,对查阅哪部分内容还是不太明确,经过逐渐阅读,掌握了如何完成此次实验的内容,在对gui设计方面,采用了下拉框的方式实现了翻译功能选择的展示。
实验二:百度图像增强与特效SDK实验
一、实验要求
实验二:百度图像增强与特效SDK实验(2023.12.6日完成)
任务一:下载配置百度图像增强与特效的Java相关库及环境(占10%)。
任务二:了解百度图像增强与特效相关功能并进行总结(占20%)。
任务三:完成图像增强GUI相关功能代码并测试调用,要求上传自己的模糊照片进行图像增强(占30%)。
任务四:完成图像特效GUI相关功能代码并测试调用,要求上传自己的照片进行图像特效(占30%)。
实验总结:(占10%)
二、实验步骤
任务一:下载配置百度图像增强与特效的Java相关库及环境
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.6.0</version> </dependency>
<dependency> <groupId>com.squareup.okio</groupId> <artifactId>okio</artifactId> <version>2.10.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.json/json --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20230618</version> </dependency> 我采用通过maven的方式导入相关环境本次实验和上次实验可以使用相同的maven环境。 |
任务二:了解百度图像增强与特效相关功能并进行总结
接口的具体功能
接口能力
图像增强与特效接口一览表
接口名称 |
接口能力简要描述 |
黑白图像上色 |
智能识别黑白图像内容并填充色彩,使黑白图像变得鲜活 |
图像风格转换 |
将图像转化成卡通画或素描风格,可用于开展趣味活动或集成到美图应用 |
人像动漫化 |
结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象 |
图像去雾 |
对浓雾天气下拍摄,导致细节无法辨认的图像进行去雾处理,还原更清晰真实的图像 |
图像对比度增强 |
调整过暗或者过亮图像的对比度,使图像更加鲜明 |
图像无损放大 |
输入一张图片,可以在尽量保持图像质量的条件下,将图像在长宽方向各放大两倍 |
拉伸图像恢复 |
自动识别过度拉伸的图像,将图像内容恢复成正常比例 |
图像修复 |
去除图片中不需要的遮挡物,并用背景内容填充,提高图像质量 |
图像清晰度增强 |
对压缩后的模糊图像实现智能快速去噪,优化图像纹理细节,输出画面更加自然清晰的图片 |
图像色彩增强 |
可智能调节图片的色彩饱和度、亮度、对比度,使得图片内容细节、色彩更加逼真 |
请求格式
POST方式调用
注意:Content-Type为application/x-www-form-urlencoded,然后通过urlencode格式化请求体。
返回格式
JSON格式
请求限制
请求图片需经过base64编码:图片的base64编码指将一幅图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。
注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)
请求格式支持:PNG、JPG、JPEG、BMP
错误码反馈:
若请求错误,服务器将返回的JSON文本包含以下参数:
- error_code:错误码
- error_msg:错误描述信息,帮助理解和解决发生的错误
例如Access Token失效返回:
{
"error_code": 110,
"error_msg": "Access token invalid or no longer valid"
}
需要重新获取新的Access Token再次请求即可。
SDK本地检测参数返回的错误码:
error_code |
error_msg |
备注 |
SDK100 |
image size error |
图片大小超限 |
SDK101 |
image length error |
图片边长不符合要求 |
SDK102 |
read image file error |
读取图片文件错误 |
SDK108 |
connection or read data time out |
连接超时或读取数据超时 |
SDK109 |
unsupported image format |
不支持的图片格式 |
服务端返回的错误码
错误码 |
错误信息 |
描述 |
1 |
Unknown error |
未知错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
2 |
Service temporarily unavailable |
服务暂不可用,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
3 |
Unsupported openapi method |
调用的API不存在,请检查请求URL后重新尝试,一般为URL中有非英文字符,如"-",可手动输入重试 |
4 |
Open api request limit reached |
集群超限额,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
6 |
No permission to access data |
无接口调用权限,创建应用时未勾选相关图像增强与特效接口,请登录百度云控制台,找到对应的应用,编辑应用,勾选上相关接口后重新调用 |
14 |
IAM Certification failed |
IAM鉴权失败,建议用户参照文档自查生成sign的方式是否正确,或换用控制台中ak sk的方式调用 |
17 |
Open api daily request limit reached |
免费测试资源使用完毕,每天请求量超限额,已支持计费的接口,您可以在控制台图像增强与特效服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
18 |
Open api qps request limit reached |
QPS超限额,免费额度并发限制为2QPS,开通按量后付费或购买次数包后并发限制为10QPS,如您需要更多的并发量,可以选择购买QPS叠加包;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
19 |
Open api total request limit reached |
请求总量超限额,已支持计费的接口,您可以在控制台图像增强与特效服务选择购买相关接口的次数包或开通按量后付费;邀测和未支持计费的接口,您可以在控制台提交工单申请提升限额 |
100 |
Invalid parameter |
无效的access_token参数,token拉取失败,您可以参考“Access Token获取”文档重新获取 |
110 |
Access token invalid or no longer valid |
access_token无效,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token |
111 |
Access token expired |
access token过期,token有效期为30天,请注意需要定期更换,也可以每次请求都拉取新token |
216100 |
invalid param |
请求中包含非法参数,请检查后重新尝试 |
216101 |
not enough param |
缺少必须的参数,请检查参数是否有遗漏 |
216102 |
service not support |
请求了不支持的服务,请检查调用的url |
216103 |
param too long |
请求中某些参数过长,请检查后重新尝试 |
216110 |
appid not exist |
appid不存在,请重新核对信息是否为后台应用列表中的appid |
216200 |
empty image |
图片为空,请检查后重新尝试 |
216201 |
image format error |
上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片 |
216202 |
image size error |
上传的图片大小错误,现阶段我们支持的图片大小为:base64编码后小于4M,分辨率不高于4096x4096,请重新上传图片 |
216202 |
input oversize |
上传的包体积过大,现阶段不支持 10M 或以上的数据包 |
216401 |
internal error |
服务器内部错误,请再次请求,如果持续出现此类错误,请提交工单联系技术支持团队。 |
216630 |
recognize error |
识别错误,请再次请求,如果持续出现此类错误,请提交工单联系技术支持团队。 |
216634 |
detect error |
检测错误,请再次请求,如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
282000 |
internal error |
服务器内部错误,报这个错误码的原因可能是您上传的图片中元素过多,识别超时导致的,建议您对图片进行切割后再识别,其他情况请再次请求, 如果持续出现此类错误,请在控制台提交工单联系技术支持团队 |
282003 |
missing parameters: {参数名} |
请求参数缺失 |
282004 |
invalid parameter(s) |
请求参数错误。请参考API说明文档,修改参数后重试 |
282005 |
batch processing error |
处理批量任务时发生部分或全部错误,请根据具体错误码排查 |
282006 |
batch task limit reached |
批量任务处理数量超出限制,请将任务数量减少到10或10以下 |
282100 |
image transcode error |
图片压缩转码错误 |
282102 |
target detect error |
未检测到图片中识别目标,出现此问题的原因一般为:您上传的图片不完整或模糊 |
282103 |
target recognize error |
图片目标识别错误,出现此问题的原因一般为:您上传的图片不完整或模糊 |
282110 |
urls not exit |
URL参数不存在,请核对URL后再次提交 |
282111 |
url format illegal |
URL格式非法,请检查url格式是否符合相应接口的入参要求 |
282112 |
url download timeout |
url下载超时,请检查url对应的图床/图片无法下载或链路状况不好,或图片大小大于3M,或图片存在防盗链,您可以重新尝试以下,如果多次尝试后仍不行,建议更换图片地址 |
282113 |
url response invalid |
URL返回无效参数 |
282114 |
url size error |
URL长度超过1024字节或为0 |
282808 |
request id: xxxxx not exist |
request id xxxxx 不存在 |
282809 |
result type error |
返回结果请求错误(不属于excel或json) |
282810 |
image recognize error |
图像识别错误,请再次请求 |
参考链接:错误码 - 图像增强与特效 | 百度智能云文档 (baidu.com)
任务三:完成图像增强GUI相关功能代码并测试调用,要求上传自己的模糊照片进行图像增强
完成图像特效GUI相关功能代码并测试调用,要求上传自己的照片进行图像特效
本次实验主要采用了罗列的方式,设置了六种图像处理按钮,,点击即可提交照片进行处理,便于使用,同时利于后续其他功能开发进行调用此功能。
通过按钮增加以及方法的复制
实现了六种图像的处理方法。
人脸转漫画:
图像增强:
图像风格转换:
图像对比度增强:
图像对比增大:
二、实验总结
本次实验学习了百度api的图片处理的一些相关内容,在对实验一的基础上进行了学习巩固,同时对百度开发文档的学习更加掌握了相关要求以及具体做法,本次实验主要遇到的问题反而更是侧重在了gui界面设计上,相对于实验一的功能实现问题便少了很多,最后我决定通过多个按钮的界面来完成此次实验,相对来说页面比较简洁,但不足之处便是页面不够美观。对百度api调用有了更熟悉的学习,后续会尝试对具体项目尝试部分加入相关api接口的使用,使其作为完整项目中的部分内容来具体实现。
实验三:JFinal极速开发框架实验
一、实验要求
任务一:了解Maven及其使用方法,总结其功能作用(占20%)
任务二:学习JFinal框架,基于Maven建立JFinal工程,并对JFinal框架功能进行总结介绍(占30%)
任务三:基于JFinal完成一个简单的学生信息管理系统(要求实现学生信息的增删改查)(占40%)
实验总结:(占10%)
二、实验步骤
任务一:
Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为。
|
功能与作用: 传统工程我们直按把jar包放置在项目中, Maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。不使用Maven工具,当做 Java 项目需要第三方依赖包时,将别人打好的 Jar 包下载到本地,然后手动指定给项目。另外,比如版本控制,需要新版本怎么办,重新下载,重新指定,这个过程操作麻烦。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码(添加所依赖jar包的坐标),指定包名、版本等,就可以了,方便开发。
|
任务二:
JFinal的主要特点及优势如下:
1、MVC架构,设计精巧,使用简单;
2、遵循COC原则,零配置,无xml;
3、ActiveRecord支持,使数据库开发极致快速;
4、自动加载修改后的java文件,开发过程中无需重启Webserver;
5、AOP支持,拦截器配置灵活,功能强大;
6、Plugin体系结构,扩展性强;
7、多视图支持,支持FreeMarker、JSP、Velocity;
8、强大的Validator后端校验功能;
9、功能齐全,拥有Struts2的绝大部分功能;
10、体积小仅180K,且无第三方依赖;
Jjfinal的不足:
1. 不应该整体使用 map 代替普通的 javabean. 基本是需要记忆数据库字段了,map 也不方便 IDE 重构和手写错误的风险,也不适合对特殊字段进行注解,因为已经没有 get set 方法了.
2. 应该拥有 IOC 容器。每次都是自己手动 new 对象,如果真想追求极致的性能,ioc 容器也应该提供吧.
3. 需要更加完善的数据库事务,隔离级别,传播特性,支持多数据库,批量操作等,事务严谨度有一定欠缺。
个人感受:使用jfinal的最大的感受便是数据的传递和以往的不同,操作便捷,但是在没有相关基础以及spring基础的情况下,学习使用起来较为困难复杂,但是最大的特点就行spring一样通过maven允许一下即可使用,无需配置很多的环境。
任务三:
本次实验我没有对原本的页面进行较多的修改与设计,主要利用其原本的页面设计进行了相关的数据库的简单操作,进行相应的学习与了解。
首页是一个简单的登录
登陆后会进入添加信息页面
管理首页:
删除:
修改:
添加:
修改和添加是相同页面,不同的是修改会有自动回显,同时和id绑定进行修改信息。
二、实验总结
本次实验首次学习了jfinal框架,是我第一次了解该框架并且针对示例代码blog发布进行修改成为一套简单的学生信息管理系统的增删改查,本次实验让我了解了jfinal的特点,减少了繁琐的sql书写以及对代码修改后要重启webserver的问题,同时使页面框架更加简洁轻便,又学习到了一款新的编程框架。
大作业:
一、实验要求
选项一:根据实验一、二、三完成如下任务:
任务一:基于Jfinal构建信息管理系统,要求包含用户管理,翻译业务模块管理,图片优化模块管理(占30%)。
任务二:要求不同用户登录后可进行文字翻译和图片优化业务处理,并且可查看提交业务处理结果,时间,处理列表,图形汇总等(占30%)。
任务三:要求管理员登录后可查看不同用户的各项业务使用情况(占30%)。
实验总结:(占10%)
二、实验步骤
任务一:
管理员页面与普通用户页面
本次实验,在管理员页面我主要设置了四个子功能大模块,管理员可进行翻译和图片处理,同时可以查看所有用户的翻译与图片特效使用情况,同时用可视化图像进行了数据的简单汇总,在人员管理中,包含查询所有用户信息以及添加新用户。
任务二:
登录页面选择具体角色用户
管理员主页面业务处理:
用户不可对翻译结果进行更改处理
翻译包括中英中日四种类型。图像包括特效,效果增强和风格转换三种类型
用户管理页面:
图像汇总图
任务三:
业务查看:管理员可查看所有人的业务情况
用户只可查看个人账户的业务情况
数据库建表情况
三、实验总结
本次大作业学习了更加具有难度的全过程的jfinal的开发与应用,同时学习在web页面对百度接口进行调用并且对结果进行处理,此次实验对于jfinal以及百度api都进行了一定的学习与掌握,起初最困难的问题为对jfinal的传值逻辑以及如何将接口与前端联系起来起到互相反馈值的问题让我纠结了许久。最后通过网络搜寻以及依靠gpt进行解释讲解才搞懂其中的具体逻辑。在多个功能多个页面的传递情况,起初是不了解其原本逻辑与设计理念。后来通过学习element-ui学习其接收值与jfinal的架构原理才逐渐完成此作业,目前仍有许多地方尚未完善,后续会跟进学习不断提高个人关于jfinal的设计能力。