每日总结2023年12月25日

发布时间 2023-12-25 16:30:31作者: 那啥cjj

临近期末,最近事比较多,对之前软件构造实验做一个汇总

软件构造实验作业

实验名称:

百度机器翻译SDK实验,百度图像增强与特效SDK实验,JFinal极速开发框架实验

班级:信2105-1  学号:20214309  姓名:陈俊杰

 

实验一:百度机器翻译SDK实验

一、实验要求

任务一:下载配置百度翻译Java相关库及环境(占10%)。

 

任务二:了解百度翻译相关功能并进行总结,包括文本翻译-通用版和文本翻译-词典版(占20%)。

 

任务三:完成百度翻译相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。

 

任务四:完成百度翻译GUI相关功能代码并测试调用,要求可以实现中文翻译成英文,英文翻译成中文(占30%)。

 

    实验总结:(占10%

二、实验步骤

 

任务一:

 

任务二:

百度翻译支持多种语言,用户可以调用百度翻译的开放API实现翻译。在功能上:1.实时翻译:提供实时的文本翻译服务,用户可以即时将一种语言翻译为另一种语言。2.批量翻译:支持批量文本翻译,可以一次性处理多个文本。3.语言检测:可以自动检测输入文本的语言,无需用户手动指定。

词典版相比通用版更专注于单词或短语的翻译和解释,提供更详细的词汇信息。更加适用于需要更深入了解特定单词含义的场景,如学术研究、专业翻译等,提高语言学习效果。

任务三:

 

 

dst为翻译结果,上述代码中的dstValue为取值

 

 

 

 

 

 

 

 

 

任务四:

GUI部分

 

 

 

三、实验总结

通过本次实验,我能够掌握调用百度翻译接口的方法,为了完成实验对代码进行了深入的解读,为了获取dst的返回结果上网搜寻了json有关的知识。在设计GUI界面时考虑到汉译英和英译汉两个需求,采用了下拉框的设计,对GUI的设计有了新的长进。

实验二:百度图像增强与特效SDK实验

一、实验要求

    任务一:下载配置百度图像增强与特效的Java相关库及环境(占10%)。

    任务二:了解百度图像增强与特效相关功能并进行总结(占20%)。

    任务三:完成图像增强GUI相关功能代码并测试调用,要求上传自己的模糊照片进行图像增强(占30%)。

任务四:完成图像特效GUI相关功能代码并测试调用,要求上传自己的照片进行图像特效(占30%)。

实验总结:(占10%

二、实验步骤

 

任务一:

 

上面这是我的pom文件中导入的依赖

任务二:

百度提供了很多接口,本次实验用到的是冰山一角,图像特效功能中的任务动漫化以及增强功能中的图像清晰度,除此之外还有很多功能。不过请求格式大体都一样是post格式,返回格式是json格式,可见我们需要对json的学习程度,不过对于请求格式还有所限制,比如图像进行base64编码过后不能超过10MB,也就是说原图最好不要超过8MB,对于图像处理需要把jpgbmppng文件转换成为base64编码,还需要对base64有一定的了解。

任务三:

 

 

右边这张是原图

相比较上一张有明显的锐化

 

 

 

任务四:

 

原图和上面一样

三、实验总结

通过本次实验令我巩固了上一次实验学到的json知识,并学习了base64编码的相关知识,如何使用getFileContentAsBase64函数来代替繁杂的base64图像字符串,以及如何把base64编码转化成图像的具体方法具体代码如下

byte[] imageBytes = Base64.getDecoder().decode(image_base64);

 

        // Create an image from the decoded bytes

        Image image = ImageIO.read(new ByteArrayInputStream(imageBytes));

在实验中我还遇到一个问题:如何用GUI界面显示图像,这边我经过百度找到了用label来显示图像具体代码如下

outputLabel.setIcon(new ImageIcon(image));

其中outputLabellabel对象setIcon函数用来显示图像new ImageIcon(image)用来加载图像

 

 

实验三:JFinal极速开发框架实验

一、实验要求

    任务一:了解Maven及其使用方法,总结其功能作用(占20%

 

    任务二:学习JFinal框架,基于Maven建立JFinal工程,并对JFinal框架功能进行总结介绍(占30%

 

任务三:基于JFinal完成一个简单的学生信息管理系统(要求实现学生信息的增删改查)(占40%

 

实验总结:(占10%

二、实验步骤

 

任务一:

我前两个实验都是用maven导入的依赖配置的环境,其实已经不需要有太多的证明了,这边详细讲解一下我是怎么用maven导入依赖的

  1. 1.    在创建完maven项目后(编译器是idea), 设置项目的maven路径(如果用默认的导入半天依赖都导不进来)

 

 

 

 

 

 

 

 

  1. 2.    然后就没有然后了,直接导入依赖

示例:

任务二:

建立Jfinal工程

这边我下载了jfinal_demo_for_maven项目,经过配置能够跑起来了。

 

 

项目结构目录截图如下

 

 

 

JFinal框架功能进行总结介绍:

JFinal是一个轻量级、易用且高性能的Java Web框架,适用于中小型项目的快速开发。它的设计理念是简洁而实用,提供了丰富的功能和灵活的扩展机制。JFinal采用了经典的MVC设计模式,将应用程序划分为模型、视图和控制器三个主要组件,以提高代码的组织性和可维护性。并且JFinal框架的API设计非常简洁,易于学习和使用。是一个轻量级的非常适合学习的框架。

任务三:

 

 

 

 

 

三、实验总结

通过本次实验,我能深刻的感受到JFinal带来的便捷,感受到了轻量级框架为我们学习所带来的好处益处。对于小白入手web开发更加便捷,节约了很多的时间,JFinal提供的API使得我们开发更加高效,可以更加灵活的运用它所提供的一些功能模块。

 

今明两天计划把软件构造的大作业给完成,主要是因为JFinal的问题,不知道如何控制它的后端