前后端不分离项目、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项目启动流程
点击跳转计算机类毕设合集
上一篇: 微信小程序开发中,如果页面跳转没有反应
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。