实现基本的文字识别
知识
dependency
现在的项目一般是拆分成一个个独立的模块,当在其他项目中想要使用独立出来的这些模块,只需要在其pom.xml使用<dependency>标签来进行jar包的引入即可。
<dependency>其实就是依赖,关于依赖管理里面都涉及哪些内容,我们就一个个来分析下:
-
依赖传递
-
可选依赖
-
排除依赖
<!--设置当前项目所依赖的所有jar-->
<dependencies>
<!--设置具体的依赖-->
<dependency>
<!--依赖所属群组id-->
<groupId>org.springframework</groupId>
<!--依赖所属项目id-->
<artifactId>spring-webmvc</artifactId>
<!--依赖版本号-->
<version>5.2.10.RELEASE</version>
</dependency>
</dependencies>
Maven
Maven就是项目管理工具,用来构建项目的。也就是清理、编译、测试、运行、打包、安装整个过程都交给maven管理,整个过程就是构建。
还可以让maven帮你下载SDK,而不用自己去下载
Pom文件
POM文件(Project Object Model)是Maven项目的核心文件之一,它定义了项目的基本信息、依赖关系、构建配置等。POM文件是一个XML文件,包含了项目的坐标、依赖、插件、构建配置等信息。在Maven中,POM文件是项目的“脊梁”,所有的操作都是基于POM文件进行的。通常,POM文件位于项目的根目录下,文件名为pom.xml。
操作
首先新建了一个MAVEN的工程,使用了HTTP-SDK工具(java),创建了一个Picturetoword的package,然后在此包下面创建了一个sample的类,在百度智能云平台上把sample类复制过来,结果发现标红语句,发现是dependency没有引用过来,去Pom文件下把百度智能云平台上的dependency引用过来(注意把版本号改过来),然后load一下,让Pom帮我们去下载这个SDK,再去sample文件下,把光标放在Aipocr上,发现可以导入包,导入后增加
import com.baidu.aip.ocr.AipOcr;的语句导入成功
P3-实现完整的Web项目
知识
Spring Initializer:
Spring Initializer 是一个用于创建和初始化 Spring 项目的Web界面或命令行工具。它提供了一个简单易用的界面,让开发人员可以快速生成和配置基于 Spring 的项目结构,并且可以选择添加额外的依赖、配置文件和其他项目设置。
使用 Spring Initializer,您可以指定项目的基本信息(如项目名称、包名等),选择所需的 Spring Boot 版本和语言(如 Java、Kotlin、Groovy),添加所需的依赖(如 Web、数据库访问、安全等),并自动生成一个可用的 Spring 项目的初始代码结构。
Spring Initializer 支持多种方式创建项目,包括:
在浏览器中访问 https://start.spring.io/,填写相关配置信息后,点击生成项目。
使用 Spring Tool Suite(STS)或 IntelliJ IDEA 等集成开发环境的 Spring Initializer 插件。
通过命令行工具(如 curl 或 HTTPie)发送 HTTP 请求来生成项目文件。
通过 Spring Initializer 创建的项目已经为您配置好了一些基本的 Spring Boot 设置,如自动配置、依赖管理、应用程序入口类等。您可以根据需要进一步修改和定制项目,以满足特定的开发需求。
总之,Spring Initializer 是一个方便快捷的工具,帮助开发人员快速创建和初始化 Spring 项目,使得项目的搭建过程更加简单和高效。
spring boot
springboot是一个专注于框架的框架。Spring Boot就是对各种框架的整合,让他们集成在一起更加简单,简化了我们在集成过程中的模板化配置,它做了那些没有它你自己也会去做的Spring Bean配置。
SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
@Restcontroller
答:@RestController无法返回指定页面,而@Controller可以。
解析:对于Controller, 如果只是使用@RestController注解,则其方法无法返回指定页面,此时配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是 return 里的内容。 如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
@RequestMapping
@RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。
要配置 Web 请求的映射,就需要你用上 @RequestMapping 注解。
@RequestMapping(value="/hello",method=RequestMethod)
RequestMethod请求方法
GET
向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中,例如在网络应用程序中。其中一个原因是GET可能会被网络蜘蛛等随意访问。
POST
向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。
ResponseBody
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
MultipartFile
MultipartFile是SpringMVC提供简化上传操作的工具类。
Thymeleaf
Thymeleaf 是新一代 Java 模板引擎,支持 HTML 原型,以直接被浏览器打开,此时浏览器会忽略未定义的 Thymeleaf 标签属性,展示 thymeleaf 模板的静态页面效果。当在应用程序中会动态地替换掉页面设置的标签属性。
操作
下载Spring boot Initializer:下载完后是一个压缩文件
进入IDEA打开改压缩包,进入下载状态
如果@SpringBootApplication变成了黄色,则证明正常了
此时启动会出现问题,因为少了dependency
在pom文件下添加<dependency>: org.springframework.boot spring-boot-starter-web 和版本,之后等待下载依赖,等红色语句消失了就正常了。
去类文件下启动类,看到Tomcat started on port(s):8080(http);
在这里遇到了:java..类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。的问题,解决办法是:
去浏览器下输入127.0.0.1:8080
接下来写接口(网页界面上显示AI hello)
首先在aidemo下new一个package,命名为controller,在controller包下新建hellocontroller的类
去浏览器下输入127.0.0.1:8080/hello
现在写上传文件(AiUtils)实现点击上传文件
用postman来测试功能是否实现,postman安装教程:PostMan的安装和使用教程-CSDN博客
测试完成后,开始写前端
首先做一个显示Hello AI Studio!的前端页面。
让前端去访问后端的接口,点击上传图标会用到这个网站:Element - The world's most popular Vue UI framework