前后端不分离项目、Thymaleaf项目、JSP项目、前端页面在reasource目录下的项目的前端访问链接URL

老哥不老 2024-10-04 11:33:01 阅读 87

首先合在一块讲是因为这几类都有一个共性,那就是前端资源都是在src/main/resource目录下,不管分不分离,有时候会将vue项目的打包后静态资源放在src/main/resource目录下,有些还是自定义的资源包名称,比如说在resource目录下再建一个admin文件夹,里面放了admin页面的前端资源包,那这个需要怎么访问呢?后面会讲到。

1. 准备运行环境

可以先看下Springboot+Vue项目启动流程这篇文章,做一些前期的运行环境软件准备,包括mysql下载,redis下载,JDK下载等,有需要可以留言补充

1.1 准备依赖环境

SpringBoot项目即含有pom.xml文件的项目需要先配置自己的maven路径,不然可能会出现maven依赖加载失败的情况,我一般都用自己的maven,然后配置自己的mvn_repo资源包,这样有相同版本的包就不需要重新从网上下载,直接导入项目即可,配置如下:

在这里插入图片描述

maven可以配置阿里云的镜像

<code><mirror>

<id>alimaven</id>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<mirror>

<id>uk</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://uk.maven.org/maven2/</url>

</mirror>

<mirror>

<id>CN</id>

<name>OSChina Central</name>

<url>http://maven.oschina.net/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<mirror>

<id>nexus</id>

<name>internal nexus repository</name>

<url>http://repo.maven.apache.org/maven2</url>

<mirrorOf>central</mirrorOf>

</mirror>

其他不含pom.xml的项目正常都是自带jar包的,不需要其他处理

1.2 确认配置正确

点开配置文件,正常都是在src/main/resource目录下,找到文件以.properties.yml.ymal结尾的文件夹,里面一般包含了数据库(通常是MYSQL)、Redis的账号密码配置,检查ip、端口、数据库、用户名、密码等是否正确,

在这里插入图片描述

在这里插入图片描述

2 运行

一切都准备好了就可以运行了

2.1 SpringBoot类项目

SpringBoot类项目启动很简单,要么是run直接启动(左边),要么就是debug启动,可以进行打点调试。当然还可以进行热部署调试,JRebel安装后需要进行断网使用,教程可以网上搜,很多,我这也有激活软件,可以私信我问我拿。

在这里插入图片描述

2.2 SSM项目

SSM项目采用的自定义的tomcat,所以启动前需要配置,首先打开Edit Configurations

然后点击左上角的加号,找到<code>tomcat Serve,选择Local。(步骤1)在右侧的配置界面中,你会看到一个表单用于配置Tomcat服务器。

Application server:点击右侧的Configure按钮,在打开的窗口中,如果你之前已经添加了Tomcat服务器,可以直接选择;如果没有,点击“+”号添加新的Tomcat服务器。在添加Tomcat服务器的界面中,选择你的Tomcat安装路径,并确认Tomcat的版本。(步骤3)Deployment:配置你的Web应用部署设置。点击“+”号添加Artifact,选择你的Web应用项目。(步骤4)

在这里插入图片描述

值得注意的是在<code>Deployment下面的Application context输入框所输入的信息,实际上是Web应用的上下文根(Context Root)或称为应用上下文路径。这个路径是Web应用的一个根URL路径,是用于区分同一Tomcat服务器中部署的多个Web应用。

具体来说,当在Application context输入框中输入某个值(比如/yy_ssmj_war)时,这个值将成为Web应用的根URL路径。用户或其他Web应用通过访问这个路径来访问你的Web应用。例如,如果Tomcat服务器部署在http://localhost:8080上,并且application context设置为/yy_ssmj_war,那么就可以通过http://localhost:8080/yy_ssmj_war来访问Web应用。要是没有配置则直接访问http://localhost:8080即可

在这里插入图片描述

配置完成后,点击窗口下方的“Apply”按钮应用配置,然后点击“OK”按钮关闭窗口。然后点击<code>Run或者Debug按钮进行运行

3. 如何访问前端

首先给一个前提知识,当访问浏览器输入http://localhost:8080或者像上面的http://localhost:8080 /yy_ssmj_war的时候,我们的程序会返回什么给前端?

SpringBoot项目

Spring Boot会按照一定的优先级顺序去查找和处理静态资源,这个顺序为:/META-INF/resources > src/main/resources > src/main/resources/static > src/main/resources/public

因此,对于http://localhost:8080的默认访问,实际上Spring Boot会尝试按照上述优先级顺序去这些目录中查找名为index.html的文件。如果找到了,就会将其作为默认页面返回。如果没有找到index.html,或者请求的不是一个文件路径(如只是简单的根路径/),那么可能会触发其他的控制器(Controller)方法或者返回一个默认的错误页面(如Whitelabel Error Page)。

SSM项目

对于http://localhost:8080这个URL,它默认访问的是部署在Tomcat服务器上的Web应用的根目录(或称为上下文根,Context Root)下的资源。在SSM项目中,这个根目录通常对应的是src/main/webapp目录(在Maven项目中)。

问题来了,当我的前端资源放在src/main/resources/admin或者src/main/resources/front目录下,我该怎么访问?

经过上面的讲解,我们其实可以猜到,浏览器输入http://localhost:8080的时候,最先处理的是静态资源,但是admin和front是不会被扫描的,那应该怎么进行访问。

首先可以试着在链接后面加资源的名称即http://localhost:8080/jsp/login.jsp或者http://localhost:8080/admin/index.html

在这里插入图片描述

在这里插入图片描述

如果上述方法不行,可以添加自定义的资源映射路径。这通常通过实现WebMvcConfigurer接口并覆盖addResourceHandlers方法来完成。front同理

<code>@Configuration

public class WebConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/admin/**")

.addResourceLocations("classpath:/admin/");

}

}

这样就可以通过http://localhost:8080/admin访问到静态资源

关于我

点击跳转至Springboot+Vue项目启动流程

点击跳转计算机类毕设合集



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。