需要基础知识方面的帮助-我集成了角形和Spring靴。我制作了Angular应用程序的生产版本,并复制了Spring boot静态资源文件夹中的6个文件。
默认情况下,当我点击localhost:8080索引时。html呈现为Spring boot自动将其注册为欢迎页面。
现在,当我在角内,我可以通过角路由器导航到不同的组件,网址也在变化。
但当我复制同一个URL,例如localhost:8080/myTask,并在URL地址栏中输入它时,它抛出404 resource not found。因为它首先命中Spring控制器,而且没有映射,所以失败了。
如果您不使用Spring MVC(例如,您使用的是Jersey),您也可以通过使用javax来解决这个问题。servlet。过滤器:
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class AngularRoutingFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = ((HttpServletRequest) request);
String requestURI = httpServletRequest.getRequestURI();
if (shouldDispatch(requestURI)) {
request.getRequestDispatcher("/").forward(request, response);
} else {
chain.doFilter(request, response);
}
}
@Override
public void init(FilterConfig filterConfig) {}
@Override
public void destroy() {}
private boolean shouldDispatch(String requestURI) {
/* Exclude/Inlclude URLs here */
return !(requestURI.startsWith("/api") || requestURI.equals("/"));
}
}
// the perfect solution(from jhipster)
@Controller
public class ClientForwardController {
@GetMapping(value = "/**/{path:[^\\.]*}")
public String forward() {
return "forward:/";
}
}
在Spring Boot中扩展了WebMVCConfigureAdapter的类中,在addViewControllers方法内部,应该执行以下操作
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
super.addViewControllers(registry);
registry.addViewController("/myTask").setViewName("forward:/");
}
对于转发、所有请求,您可以执行注册表。addViewController(“/**”)。setViewName(“转发:/”
更新感谢乔纳斯的建议。由于WebMVCConfigureAdapter在Spring 5.0中被弃用,您可以通过扩展WebMVCConfiguer来实现上述逻辑
输入地址(URL) 1. 开启选单后,使用方向按钮选择地址列,并按下按钮。 2. 使用键盘输入欲显示之Web网页的地址后,选择[确定]并执行决定。 提示 亦可从选单列中选择[档案] > [输入地址],进行同样操作。 将输入模式变更为支持Web输入后,可简单输入[http://]、[.com]等常用文字。又,选择[履历]后,将会显示之前输入的地址。按下SELECT(选择)按钮,可更换输入模式。
import { Address } from 'feui'; import ChinaAddressV3 from 'feui/packages/utils/mock/china_address_v3.json' components: { [Address.name]: Address }, data () { return { value: [], a
import { Actionsheet } from 'feui'; components: { [Actionsheet.name]: Actionsheet } data() { return { show1: false, show2: false, show3: false, show4: false, headerSlot: ti
本文向大家介绍在浏览器中输入url地址到显示页面的过程?相关面试题,主要包含被问及在浏览器中输入url地址到显示页面的过程?时的应答技巧和注意事项,需要的朋友参考一下 百度好像最喜欢问这个问题。 打开一个网页,整个过程会使用哪些协议 图解(图片来源:《图解HTTP》): 总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接
cPanel地址导入程序可用于在您的帐户中创建多个电子邮件地址或转发器。 例如,您的办公室中有100名员工,您希望每位员工都有一个电子邮件地址,如果您有员工的电子邮件地址列表,则只需两次点击,您就可以根据需要创建尽可能多的电子邮件帐户。 cPanel地址导入器支持两种类型的数据导入, Excel Spreadsheet (.xls)或Comma separated value sheet (.cs
本文向大家介绍在地址栏里输入一个URL,到这个页面呈现出来,中间会发生什么?相关面试题,主要包含被问及在地址栏里输入一个URL,到这个页面呈现出来,中间会发生什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 这是一个必考的面试问题, 输入url后,首先需要找到这个url域名的服务器ip,为了寻找这个ip,浏览器首先会寻找缓存,查看缓存中是否有记录,缓存的查找记录为:浏览器缓存-》系统缓