Tag: spring mvc

Firebase云消息传递API弹簧

我必须在Spring Java中创建一个Rest API用于多层arch,其中需要为Firebase云消息传递(FCM)构建DAO,Controller,Service Manager以向Android应用程序发送推送通知消息,但我无法配置Java中的服务器,用于向设备发送通知。 我怎么能?

为什么Spring MVC需要至少两个上下文?

在Spring MVC中,有两种情况。 一个是由ContextLoaderListener启动的应用程序上下文或全局上下文。 它接受contextConfigLocation参数中提到的所有配置文件。 现在,如果您也使用Spring MVC,则需要Dispatcher servlet,它会启动另一个容器,也称为Web应用程序容器。 此容器将全局容器作为父容器。 将struts1与spring集成时,只有一个上下文。 为什么spring mvc需要两个? 使用spring mvc时是否可以只使用一个上下文? 谢谢!

Spring:文件上传RESTFUL Web服务

我正在使用Spring 4.0为RESTFUL Web服务创建POC。 如果我们只传递String或任何其他基本dataype,它工作正常。 @RequestMapping(value=”/upload/file”, method=RequestMapping.post) public String uploadFile(@RequestParam(“fileName”, required=false) String fileName){ logger.info(“initialization of object”); //—————————————- System.out.Println(“name of File : ” + fileName); //—————————————- } 这很好用。 但如果我想传递字节流或文件对象function,我怎么能写这个具有这些参数的function? 如何编写提供传递字节流的客户端? @RequestMapping(value=”/upload/file”, method=RequestMapping.post) public String uploadFile(@RequestParam(“file”, required=false) byte [] fileName){ //——————— // } 我尝试了这段代码,但得到了415错误。 @RequestMapping(value = “/upload/file”, method = RequestMethod.POST, consumes=”multipart/form-data”) public @ResponseBody String uploadFileContentFromBytes(@RequestBody MultipartFormDataInput input, Model […]

使用Spring控制器处理错误404

我使用@ExceptionHandler来处理我的Web应用程序抛出的exception,在我的情况下,我的应用程序返回带有HTTP status JSON响应,以便对客户端进行错误响应。 但是,我试图弄清楚如何处理error 404以返回类似的JSON响应,就像@ExceptionHandler处理的响应一样 更新: 我的意思是,当访问不存在的URL时

在spring-boot中过滤顺序

如何在spring-boot中指定filter的顺序? 我需要在Spring Securityfilter之后插入我的MDCfilter。 我几乎尝试了所有东西,但我的滤镜始终是第一个 这不起作用: @Bean @Order(Ordered.LOWEST_PRECEDENCE) public UserInsertingMdcFilter userInsertingMdcFilter() { return new UserInsertingMdcFilter(); } 这也不起作用: @Bean public FilterRegistrationBean userInsertingMdcFilterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); UserInsertingMdcFilter userFilter = new UserInsertingMdcFilter(); registrationBean.setFilter(userFilter); registrationBean.setOrder(Integer.MAX_VALUE); return registrationBean; }

在Spring MVC中重定向

为什么我不能在Controller中使用它 @RequestMapping(method = RequestMethod.POST) public String onSubmit( Model model, @ModelAttribute(“form”) Form form, BindingResult result, HttpServletRequest request) throws IOException, WriteException, BiffException { if (result.hasErrors()) { return “redirect:index.html”; } } 我明白了: javax.servlet.ServletException:无法解析名为’dispatcher’的servlet中名为’redirect:index.html’的视图 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1042) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390) 我以前有这个工作。 为什么不是现在?

如何使用Spring MVC处理HTTP OPTIONS?

我想使用我的控制器使用Spring MVC拦截OPTIONS请求,但它被DispatcherServlet捕获。 我该如何管理?

Spring WebSocket @SendToSession:向特定会话发送消息

是否可以向特定会话发送消息? 我在客户端和Spring servlet之间有一个未经身份validation的websocket。 当异步作业结束时,我需要向特定连接发送未经请求的消息。 @Controller public class WebsocketTest { @Autowired public SimpMessageSendingOperations messagingTemplate; ExecutorService executor = Executors.newSingleThreadExecutor(); @MessageMapping(“/start”) public void start(SimpMessageHeaderAccessor accessor) throws Exception { String applicantId=accessor.getSessionId(); executor.submit(() -> { //… slow job jobEnd(applicantId); }); } public void jobEnd(String sessionId){ messagingTemplate.convertAndSend(“/queue/jobend”); //how to send only to that session? } } 正如您在此代码中看到的,客户端可以启动异步作业,当它完成时,它需要结束消息。 显然,我只需要向申请人发送信息,而不是向所有人广播。 拥有@SendToSession注释或messagingTemplate.convertAndSendToSession方法会很棒。 UPDATE 我试过这个: […]

使用Spring Boot和annotations配置ViewResolver为HTTP请求找不到URI错误的映射

我正在尝试使用gradle,spring boot和spring mvc以最简单的视图解析器和html制作“hello world”应用程序。 我从thymeleaf spring boot示例开始 ,我只是想删除thymeleaf,使用纯html和InternalResourceViewResolver创建一个更简单的mvc应用程序。 我有一个greeting.html我想要服务,它位于src / main / webapp / WEB-INF。 当我运行应用程序时,我得到了 No mapping found for HTTP request with URI [/WEB-INF/greeting.html] in DispatcherServlet with name ‘dispatcherServlet’ 这是一个常见的错误,网上有很多答案,但似乎没有任何帮助。 这是我的Application.java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 这是我的GreetingController.java @Controller public class GreetingController { @RequestMapping(“/greeting”) public […]

如何在Spring MVC中找到所有控制器?

为了提供一些运行时生成的API文档,我想迭代所有Spring MVC控制器。 所有控制器都使用Spring @Controller注释进行注释。 目前我这样做: for (final Object bean: this.context.getBeansWithAnnotation( Controller.class).values()) { …Generate controller documentation for the bean… } 但是这段代码的第一次调用非常缓慢。 我想知道Spring是否迭代了类路径中的所有类,而不仅仅是检查定义的bean。 在运行上述代码时,控制器已经加载,日志显示所有这些控制器的请求映射,因此Spring MVC必须已经知道所有这些,并且必须有更快的方法来获取它们的列表。 但是怎么样?