我有一个类似于以下内容的Spring启动配置文件,
server:
port: 8002
servlet:
context-path: /api/
...
spring:
mvc:
static-path-pattern: "/resources/**"
...
我已将角度项目中的构建文件复制粘贴到resources/resources/static
中。
不知道这有没有关系。下面是我的< code>JwtFilter.java,
@Component
public class JwtFilter extends OncePerRequestFilter {
final private JwtUtil jwtUtil;
@Autowired
JwtFilter(JwtUtil jwtUtil) {
this.jwtUtil = jwtUtil;
}
@Override
protected void doFilterInternal(
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse,
FilterChain filterChain
) throws ServletException, IOException {
Cookie[] cookies = httpServletRequest.getCookies();
if(cookies == null) {
cookies = new Cookie[]{};
}
Cookie jwtCookie = Arrays.stream(cookies)
.filter(cookie -> cookie.getName().equals(StringConstants.JWT_AT_COOKIE_NAME))
.findFirst()
.orElse(null);
Cookie rtCookie = Arrays.stream(cookies)
.filter(cookie -> cookie.getName().equals(StringConstants.RT_COOKIE_NAME))
.findFirst()
.orElse(null);
if (rtCookie == null) {
httpServletResponse.sendError(401, "REFRESH_TOKEN_NOT_FOUND");
return;
}
String jwt = null;
String uid = null;
try {
if (jwtCookie != null) {
jwt = jwtCookie.getValue();
uid = jwtUtil.extractSubject(jwt);
} else {
httpServletResponse.sendError(401, "User not authenticated!");
}
if (uid != null) {
if (!jwtUtil.validateToken(jwt)) {
httpServletResponse.sendError(401, "EXPIRED_JWT_TOKEN_EXCEPTION");
return;
}
}
} catch (SignatureException exception) {
httpServletResponse.sendError(403, exception.getMessage());
return;
}
filterChain.doFilter(httpServletRequest, httpServletResponse);
}
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
String path = request.getRequestURI();
return path.equals("/api/auth") || path.equals("/api/auth/");
}
}
我尝试过将这些js构建文件添加到元INF /资源,公共
目录结构为:
现在,如果我转到http://localhost:8002/
然后它只显示HTTP状态404–未找到
。
项目结构需要做更多的工作。
在这里查看问题。
在一个罐子中使用Spring boot 2.x构建angular 11
删除此。
spring:
mvc:
static-path-pattern: "/resources/**"
您想将npm build
工件放在src/main/Resources/静态
中。
首先,< code>npm run build,您将在< code>dist/中找到工件。
将dist/
中的任何内容复制到src/main/resources/static/
中。例如,<code>dist/index。html将被复制并粘贴到src/main/resources/static/index.html
中。
然而,这里有一个问题。如果您介意url中的散列片段< code>#/foo/bar,您需要告诉Springboot在404上提供< code>index.html。
@SpringBootApplication
public class BlogApiApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(BlogApiApplication.class);
app.run(args);
}
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
container.addErrorPages(error404Page);
}
};
}
}
通过这种方式,您不需要哈希模式。React也一样,Vue。
参考
我需要一些上传图像的帮助。 我有两个不同的申请 在我的专用服务器上运行的Springstart应用程序 Angulal-6 Application-在我的云服务器上运行 我需要从我的spring boot应用程序上传一个图像到Angular-6资产文件夹(资产文件夹类似于spring boot应用程序的资源文件夹) 在application.properties我已经声明上传位置,如profile
问题内容: 我在我的角度应用程序中创建了工厂/服务。 我想在浏览器中调试它。有没有一种方法可以访问其实例并检查其函数和变量的值是什么? 角度范围可以使用 是否有类似的方式访问工厂? 问题答案: 我相信您可以使用以下方式: 并且由于angularjs服务是 单例的 ,因此在任何 angular.element 上执行此操作都将始终返回相同的服务实例/对象。
我按照此页面在我的服务器(ngrok 1.7)上自托管ngrok https://www.svenbit.com/2014/09/run-ngrok-on-your-own-server/ ATM,我可以正常使用超文本传输协议。 但是,我也想使用ssh(tcp协议)。 当尝试使用以下命令 ngrok (Ctrl C退出) 隧道在线状态 版本1.7/1.7 转发tcp://tunnel.mydoma
问题内容: 这是一个简单的node.js代码。 我将其上传到cpanel托管服务器上并安装了node.js并运行它。如果服务器是普通服务器,我可以通过访问’http:// {serverip}:8080’检查脚本结果。但是在cpanel上托管域和子域,并且每个域都由每个站点匹配。甚至http:// {serverip}也不是有效的网址。如何访问我的node.js结果?请教我。谢谢。bingbing
为什么我不能多次打这个电话? 在下面第二次使用时崩溃....和不回收有关吗?
这是一组问题,而不是一个非常具体的问题。在过去的几周/几天里,我对如何在“云中”正确地托管JAVA PLAY应用程序的信息感到困惑,因为很多信息分散在不同的服务上,我想把所有这些小部分集中在一起,因为很多事情都很重要,需要在完整的上下文中看到。然而,我把我的考虑转移到了问题的底部,因为它们主要是我的观点和主观发现,我不想对此负责。如果我做错了什么,请毫不犹豫地指出。 我们的场景:我们在Java P