相对路径的问题.拙见
趁着现在还没把自己绕进去,记录一下…
前端Angular.
设置proxy.conf.json
将api
请求全部转发给localhost:8080
,
{
"/api":{
"target":"http://localhost:8080/"
}
}
注意这里的请求还需要在proxy.conf.json
额外的配置,否则这里的请求是带api
一起发送的,即请求会被发送到localhost:8080/api/xxxxx
下…
这里tomcat还是使用的默认的根目录启动
在tomcat
的目录下修改conf/server.xml
添加一行
<Context path="api/path1" docBase="D:/Music/fileUpload/" reloadable="true" crossContext="true"></Context>
那么此时发送到localhost:8080/api/path1
就会访问到docBase
下的文件.
测试一下.
地址栏请求localhost:4200/api/path1
,则请求会被转发到localhost:8080/api/path1/
此时前端的比较明了,即将api
路径下访问的地址完全转发给后端,若进行额外的配置,去除api
即转发前的路径,则请求会被发送到loacalhost:8080/xxxx
否则就是localhost:8080/api/path1/
…
说的比较混乱和复杂,其实很简单…
Tomcat是让我比较头大的,主要是不知道怎么写了都…
我认为需要注意两点,一个是项目路径,即启动路径,IDE里面设置启动路径为/project1
那么启动的时候的路径地址为localhost:8080/project1
,比较让我难受的是不知道在此时再设置context
标签,那么怎么请求才算是正确的呢.
目前context
设置为path="api/path1
…在idea中设置.
这就是最让我困惑的地方了,打开浏览器,则localhost:8080/Music/ceshi.png
和localhost:8080/api/path1/ceshi.png
的结果一样…
那么就有点摸不到头脑了…