Web应用开发

目录

一、上课所需要的软件

1.Visual Studio

2.IDEA

IDEA的配置

3.SQLyog

4.Postman

5.Visual的运行

6.软件链接

二、运行项目时的注意事项

当运行代码而没打开redis-server.exe时,运行代码会成功,但在运行Visual Studio后,登录时,会显示Request failed with status code 500

2.登录Visual Studio页面时,IDEA代码的密码也要同时修改

当打开了“redis-server.exe”还在报错时,也可能是IDEA处的密码忘记修改,与登录密码不一致

3.数据库对应

与IDEA链接的数据库的名字也要与Mysql里创建的数据库名一致

如果不一致会报什么错呢,我把IDEA上的数据库名改成了w,结果报错“Unknown database 'w'”,意思为“未知数据w”,这会导致,前面的Visual Studio登录也会出现问题,又爆出了“Request failed with status code 500”的问题,所以数据库名相对应也需要注意

三、基础页面的增删查改

1、新增基础页面

2、更新基础页面


一、上课所需要的软件

1.Visual Studio

Visual Studio 编辑器具有出色的代码补全功能、语法突出显示、快速信息提示、附带代码修复建议的错误和警告。可用于编辑、调试和构建代码,广泛应用于计算机程序、网站、Web 应用、Web 服务和移动应用等软件开发等范畴,涵盖整个软件开发周期所需的大部分工具,可在任意平台开发高质量的应用。

根据我在网上的了解,Visual Studio的作用有:

  1. 支持多种编程语言:如C#、C++、Visual Basic、Python等,提供跨平台的支持。
  2. 提供丰富的工具和功能:如代码编辑器、调试器、版本控制系统、自动化构建工具、测试工具等,可以帮助开发人员更加高效地进行软件开发,创建、调试和维护应用程序,确保其质量和可靠性。
  3. 支持团队合作:提供如Git和Team Foundation Server (TFS)等版本控制功能,方便开发人员进行团队合作和管理代码库。
  4. 提供丰富的扩展和插件:开发人员可以使用这些扩展和插件来扩展其功能,满足特定的需求,例如添加新的语言支持、集成第三方库和框架、实现自动化测试等。

2.IDEA

IDEA是一款集成开发环境(IDE),它是JetBrains公司的产品,开发人员以严谨著称的东欧程序员为主。IDEA全称IntelliJ IDEA,在业界被公认为最好的Java开发工具,它在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。

IDEA作为一款集成开发环境(IDE),在开发过程中扮演着重要的角色,主要作用和用处包括:

  1. 提供了一个集成的开发环境:IDEA将代码编辑器、编译器、调试器和其他工具集成在一起,使得开发人员可以在一个界面中进行编码、测试和调试,从而提高了开发效率。
  2. 支持多种编程语言:IDEA支持多种流行的编程语言,包括Java、Python、Ruby、Scala等,使得开发人员可以使用自己熟悉的编程语言进行开发。
  3. 提供智能代码助手和代码自动提示功能:IDEA的智能代码助手和代码自动提示功能可以帮助开发人员快速输入代码,减少错误,提高编码效率。
  4. 支持版本控制:IDEA集成了版本控制系统(如Git),使得开发人员可以方便地管理代码版本,进行代码提交、合并和回滚等操作。
  5. 提供调试和测试工具:IDEA提供了强大的调试和测试工具,可以帮助开发人员快速定位和解决问题,提高软件质量和可靠性。
  6. 支持团队合作:IDEA支持多人协作开发,可以方便地进行代码共享、版本控制和讨论等操作,提高了团队合作效率。

IDEA的配置

相关的依赖包以及Maven

如果配置没有配好,就会出现依赖、注释爆红现象,如下图所示(找不到图片了)

3.SQLyog

SQLyog是一款快速而简洁的图形化管理MySQL数据库的工具,这款工具基于C++和MySQLAPI编程,方便快捷的数据库同步与数据库结构同步工具,并且易用的数据库、数据表备份与还原功能。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。

SQLyog的主要功能包括:

  1. 支持对数据表的各种高级属性的修改,比如查看和修改数据服务器的各种状态、参数等。
  2. 支持更改数据表类型为ISAM、MYISAM、MERGE、HEAP、InnoDB、BDB。
  3. 支持刷新数据服务器、日志、权限、表格等。
  4. 支持诊断数据表,进行查看、压缩、修补、分析。

4.Postman

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它支持各种类型的HTTP请求(GET、HEAD、POST、PUT等),可以附带任何数量的参数+headers,并且支持在线存储数据和不同的认证机制。

Postman的作用和用处主要体现在以下几个方面:

  1. 接口测试和跟踪HTTP请求:Postman可以用来测试和跟踪网页请求,帮助开发或调试人员检查接口是否正常工作。
  2. 获取并展示后台返回的数据:通过Postman,用户可以从可视化界面直接输入要访问的url+参数,获取从后台返回前端的数据,并以json、xml等多种格式直观地展示出来。
  3. 支持不同的操作系统:Postman适用于不同的操作系统,包括Mac、Windows和Linux。
  4. 支持在线存储数据:通过账号,用户可以迁移数据,方便在不同设备之间同步。
  5. 支持不同的认证机制:包括Basic Auth、Digest Auth、OAuth 1.0、OAuth 2.0等。
  6. 响应数据自动按照语法格式高亮:包括HTML、JSON和XML,使得数据展示更加清晰易懂。

5.Visual的运行

运行Visual时,在终端的命令,出现两条蓝色的链接便是运行成功

6.软件链接

下面是四个软件的链接以及截图

1.Visual链接:Visual studio编程与开发 软件下载 (weizhen01.cn)

2.IDEA链接:https://www.jetbrains.com/idea/​​​​​​

请注意,在使用IDEA之前,需要先安装JDK1.8版本以上的Java开发工具包。

3.SQL链接:https://sqlyog.en.softonic.com/

4.postman链接:https://www.postman.com/downloads/

二、运行项目时的注意事项

1.运行代码时需要打开"Redis-x64-5.0.14.1\redis-server.exe"

当运行代码而没打开redis-server.exe时,运行代码会成功,但在运行Visual Studio后,登录时,会显示Request failed with status code 500

IDEA的报错:“Connection refused: no further information”

这时我们只需要点开“redis-server.exe”,便可以登录成功

(点开的“redis-server.exe”,不能叉掉,不然依旧会报错)

这就是登录成功的页面

2.登录Visual Studio页面时,IDEA代码的密码也要同时修改

当打开了“redis-server.exe”还在报错时,也可能是IDEA处的密码忘记修改,与登录密码不一致

这时IDEA的报错就变成‘root‘@’localhost’,提示密码错误

这时,只用去IDEA 项目的配置里,把password改成与登录密码一致就好

3.数据库对应

与IDEA链接的数据库的名字也要与Mysql里创建的数据库名一致

如果不一致会报什么错呢,我把IDEA上的数据库名改成了w,结果报错“Unknown database 'w'”,意思为“未知数据w”,这会导致,前面的Visual Studio登录也会出现问题,又爆出了“Request failed with status code 500”的问题,所以数据库名相对应也需要注意

三、基础页面的新增、修改、查询、分页查询

以上问题都解决时,便可以开始运行,完善代码,实现新增、修改、查询、分页查询

首先需要登录,获取“token”

1、新增基础页面

(1)BaseUrlController

@PostMapping("/add")
public  Result<?> addBaseUrl(@RequestBody BaseUrl baseUrl){
    baseUrlService.save(baseUrl);
    return Result.success("新增基础页面成功");
}

新增的数据在数据表里是可以看见的

2、更新基础页面

(1)BaseUrlController
@PostMapping("/update")
public Result<?> updateBaseUrl(@RequestBody BaseUrl baseUrl){
    baseUrlService.updateBaseUrl(baseUrl);
    return Result.success("更新基础页面成功");
}

(2)IBaseUrlService

public void updateBaseUrl(BaseUrl baseUrl);

(3)BaseUrlServiceImpl

@Override
public void updateBaseUrl(BaseUrl baseUrl){
    baseUrlMapper.updateBaseUrl(baseUrl);
}

(4)BaseUrlMapper

public void updateBaseUrl(BaseUrl baseUrl);

(5)BaseUrlMapper.xml

<update id="updateBaseUrl" parameterType="BaseUrl">
    update base_Url set description=#{description} where mainPage=#{mainPage}
</update>

修改前的最后一列为“des”

修改后变为了“aaaaaaa”,因为前面的数据是一样的,所以修改了两行的数据

3、根据主页查询基础页面信息

(1)BaseUrlController

@GetMapping("/all")
public Result<List<BaseUrl>> getBaseUrl(){
    List<BaseUrl> baseUrlList = baseUrlService.list();
    return Result.success(baseUrlList,"查询成功!");
}

(2)IBaseUrlService

List<BaseUrl> selectByMainPage(String mainPage);

(3)BaseUrlServiceImpl

@Override
public List<BaseUrl> selectByMainPage(String mainPage) {
    return baseUrlMapper.selectByMainPage(mainPage);
}

(4)BaseUrlMapper

List<BaseUrl> selectByMainPage(String mainPage);

(5)BaseUrlMapper.xml

<select id="selectByMainPage" resultType="BaseUrl">
    select * from base_url where mainPage=#{mainPage}
</select>

这里,除了Headers需要打之外,还有Params需要提供需要查询的主页信息,同时输入的Params还需要是“mainPage”的值。

4、根据多条件查询基础页面信息

(1)BaseUrlController

@GetMapping("/get")
public Result<List<BaseUrl>> selectBaseUrl(@RequestBody BaseUrl baseUrl){
    List<BaseUrl> list = baseUrlService.selectBaseUrl(baseUrl);
    return Result.success(list,"查询成功!");

}

(2)IBaseUrlService

List<BaseUrl> selectBaseUrl(BaseUrl baseUrl);

(3)BaseUrlServiceImpl

@Override
public List<BaseUrl> selectBaseUrl(BaseUrl baseUrl) {
    return baseUrlMapper.selectBaseUrl(baseUrl);
}

(4)BaseUrlMapper

List<BaseUrl> selectBaseUrl(BaseUrl baseUrl);

(5)BaseUrlMapper.xml

<select id="selectBaseUrl" resultType="BaseUrl" parameterType="BaseUrl">
        select * from base_url where 1=1
        <if test="mainPage!=null">and mainPage=#{mainPage}</if>
        <if test="rootlink!=null">and rootlink=#{rootlink}</if>
        <if test="num!=null">and num=#{num}</if>
        <if test="level!=null">and level=#{level}</if>
        <if test="leaflink!=null">and leaflink=#{leaflink}</if>
    </select>
</mapper>

可以在Body列出需要查询的条件