Questions tagged «spring-mvc»

基于模型-视图-控制器(MVC)模式构建Java Web应用程序的框架。它促进了与基础视图技术的灵活解耦的代码。


8
@Valid注释在Spring中表示什么?
在以下示例中,该ScriptFile参数标记有@Valid注释。 是什么@Valid注解吗? @RequestMapping(value = "/scriptfile", method = RequestMethod.POST) public String create(@Valid ScriptFile scriptFile, BindingResult result, ModelMap modelMap) { if (scriptFile == null) throw new IllegalArgumentException("A scriptFile is required"); if (result.hasErrors()) { modelMap.addAttribute("scriptFile", scriptFile); modelMap.addAttribute("showcases", ShowCase.findAllShowCases()); return "scriptfile/create"; } scriptFile.persist(); return "redirect:/scriptfile/" + scriptFile.getId(); }

2
为具有不同参数的相同网址格式创建两个方法
我有一个方案,其中一个网址“ serachUser”可能带有两个不同的值(请求参数)userId或UserName。 为此,我创建了两种方法 public String searchUserById(@RequestParam long userID, Model model) public ModelAndView searchUserByName(@RequestParam String userName) 但是我越来越模糊的映射发现异常。Spring有任何方法可以处理这种情况。

16
Spring Boot和AngularJS的CORS不起作用
我正在尝试从另一个(angularjs)调用一个应用程序(spring-boot应用程序)上的REST端点。这些应用程序正在以下主机和端口上运行。 REST应用程序,使用Spring Boot, http://localhost:8080 HTML应用程序,使用angularjs, http://localhost:50029 我还使用spring-security了spring-boot应用程序。我可以从HTML应用程序向REST应用程序进行身份验证,但是此后,我仍然无法访问任何REST端点。例如,我有一个定义如下的angularjs服务。 adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) { var s = {}; s.isAdminLoggedIn = function(data) { return $http({ method: 'GET', url: 'http://localhost:8080/api/admin/isloggedin', withCredentials: true, headers: { 'X-Requested-With': 'XMLHttpRequest' } }); }; s.login = function(username, password) { var u = 'username=' + encodeURI(username); var …

7
Spring MVC中的ModelAndView中的模型是什么?
具有此基本功能 protected ModelAndView handleRequestInternal(...) { ... return new ModelAndView("welcomePage", "WelcomeMessage", message); } 我知道这将返回modelandView。我知道这welcomePage是我的视图名,因此意味着welcomepage.jsp将调用类似名称。 但我对模型部分感到困惑。是什么WelcomeMessage以及message如何在场景模式的工作?

3
在Spring MVC应用程序中实现Swagger的“简单”方法
我有一个用简单的Spring编写的ReSTFul API(没有Spring Boot,没有花哨的东西!)。我需要在其中实现Swagger。到目前为止,互联网上的每个页面都以令人困惑的配置和肿的代码(使我根本无法移植)而使我发疯。 有没有人有一个示例项目(或一组详细的步骤)可以帮助我实现这一目标?特别是,我正在寻找使用swagger-springmvc的良好示例。我知道它有“样本”,但充其量,深奥的代码令人不快。 我必须澄清,我不是在寻找“为什么Swagger就是最好的”。我没有使用(或当前的任务将不使用)Spring Boot等。

7
如何禁用特定URL的Spring Security
我正在使用无状态弹簧安全性,但如果要注册,我想禁用弹簧安全性。我禁用了 antMatchers("/api/v1/signup").permitAll(). 但它不起作用,我在下面收到错误消息: message=An Authentication object was not found in the SecurityContext, type=org.springframework.security.authentication.AuthenticationCredentialsNotFoundException 我认为这意味着弹簧安全过滤器正在工作 我的网址顺序始终为“ / api / v1” 我的春季配置是 @Override protected void configure(HttpSecurity http) throws Exception { http. csrf().disable(). sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS). and(). authorizeRequests(). antMatchers("/api/v1/signup").permitAll(). anyRequest().authenticated(). and(). anonymous().disable(); http.addFilterBefore(new AuthenticationFilter(authenticationManager()), BasicAuthenticationFilter.class); } 我的身份验证过滤器是 @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain …

11
Spring CORS没有'Access-Control-Allow-Origin'标头
将web.xml移植到Java配置后出现以下问题 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. 根据一些Spring参考,尝试了以下尝试: @Configuration @ComponentScan(basePackageClasses = AppConfig.class, useDefaultFilters = false, includeFilters = { @Filter(org.springframework.stereotype.Controller.class) }) @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/*").allowedOrigins("*").allowedMethods("GET", "POST", "OPTIONS", "PUT") .allowedHeaders("Content-Type", "X-Requested-With", "accept", …

5
在Spring Websocket上向特定用户发送消息
如何仅从服务器向特定用户发送websocket消息? 我的webapp具有spring安全设置,并使用websocket。我在尝试仅从服务器向特定用户发送消息时遇到棘手的问题。 通过阅读手册,我的理解是来自我们可以做的服务器 simpMessagingTemplate.convertAndSend("/user/{username}/reply", reply); 在客户端: stompClient.subscribe('/user/reply', handler); 但是我永远无法调用订阅回调。我尝试了许多不同的方法,但是没有运气。 如果我将其发送到/ topic / reply,它可以工作,但所有其他已连接的用户也将收到它。 为了说明问题,我在github上创建了这个小项目:https : //github.com/gerrytan/wsproblem 重现步骤: 1)克隆并构建项目(确保您使用的是jdk 1.7和maven 3.1) $ git clone https://github.com/gerrytan/wsproblem.git $ cd wsproblem $ mvn jetty:run 2)导航到http://localhost:8080,使用bob / test或jim / test登录 3)单击“请求用户特定的味精”。预期:仅此用户的“仅收到我的消息”旁边会显示一条消息“ hello {username}”,实际:未收到任何消息

7
春季启动:覆盖图标
如何覆盖Spring Boot的图标? 注意:这是我的另一个问题,提供了不涉及任何编码的另一个解决方案:Spring Boot:是否可以在带有胖子的任意目录中使用外部application.properties文件?它用于application.properties,但也可以应用于收藏夹图标。实际上,我现在正在使用该方法来替换图标图标。 如果我实现的类具有@EnableWebMvc,则不会加载Spring Boot的WebMvcAutoConfiguration类,并且可以通过将其放置在静态内容的根目录中来提供自己的图标。 否则,WebMvcAutoConfiguration会注册faviconRequestHandler bean,(请参见源https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ web / WebMvcAutoConfiguration.java),并提供“绿叶”图标,该图标位于Spring Boot的主资源目录中。 如何在不实现自己具有@EnableWebMvc的类的情况下覆盖它,从而禁用Spring Boot的WebMvcAutoConfiguration类的整个默认配置功能? 另外,由于我希望在客户端(Web浏览器)端尽快更新图标文件,因此我想将收藏图标的缓存周期设置为0。(例如下面的代码,我将其用于更改文件后,必须尽快在客户端上更新“静态” webapp内容和脚本文件。) public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("/") .setCachePeriod(0); } 因此,仅找到保存Spring Boot的faviconRequestHandler认可的favicon.ico文件的位置可能不够。 更新 现在,我知道可以通过将图标图标放置到src / main / resources目录中来覆盖默认值。但是缓存期问题仍然存在。 此外,最好将收藏夹图标放置在放置静态Web文件的目录中,而不是资源目录中。 更新 好的,我设法覆盖了默认值。我所做的如下: @Configuration public class WebMvcConfiguration { @Bean public WebMvcConfigurerAdapter faviconWebMvcConfiguration() { return new FaviconWebMvcConfiguration(); } …

7
设置多个@ControllerAdvice @ExceptionHandlers的优先级
我有多个用注释的类@ControllerAdvice,每个类都有一个@ExceptionHandler方法。 一个处理程序Exception的意图是,如果找不到更多特定的处理程序,则应使用它。 遗憾的是,Spring MVC似乎总是使用最通用的情况(Exception),而不是使用更具体的情况(IOException例如)。 这是人们期望Spring MVC表现的方式吗?我正在尝试模仿Jersey的模式,该模式会评估每个ExceptionMapper(等效组件)以确定它处理的声明类型与引发的异常之间的距离,并且始终使用最接近的祖先。

3
如何在Spring MVC中显式获取发布数据?
有没有办法获取帖子数据本身?我知道spring处理将发布数据绑定到java对象。但是,给定两个要处理的字段,如何获得该数据? 例如,假设我的表单有两个字段: <input type="text" name="value1" id="value1"/> <input type="text" name="value2" id="value2"/> 我将如何在控制器中检索这些值?
81 java  spring-mvc 

11
Maven-在当前项目和插件组中找不到前缀为“ spring-boot”的插件
我正在尝试构建一个使用Spring Tools Suite构建的springboot项目。执行时出现以下错误$mvn spring-boot:run Downloading: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (13 KB at 14.0 KB/sec) Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 21.8 KB/sec) [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.032 s [INFO] Finished at: 2015-06-15T17:46:50-04:00 [INFO] Final Memory: 11M/123M [INFO] ------------------------------------------------------------------------ [ERROR] No plugin found for prefix …

12
log4j:WARN在web.xml中找不到记录器的附加程序
我已经将log4jConfigLocation放在web.xml中,但是仍然收到以下警告: log4j:WARN No appenders could be found for logger ⤦ ⤥ (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 我错过了什么? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml </param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> <listener> <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class> </listener> <listener> …

4
带有JSON的Spring MVC分段请求
我想使用Spring MVC发布带有一些JSON数据的文件。因此,我开发了一种休息服务 @RequestMapping(value = "/servicegenerator/wsdl", method = RequestMethod.POST,consumes = { "multipart/mixed", "multipart/form-data" }) @ResponseBody public String generateWSDLService(@RequestPart("meta-data") WSDLInfo wsdlInfo,@RequestPart("file") MultipartFile file) throws WSDLException, IOException, JAXBException, ParserConfigurationException, SAXException, TransformerException { return handleWSDL(wsdlInfo,file); } 当我从其他客户端发送请求时 content-Type = multipart/form-data or multipart/mixed,出现下一个异常: org.springframework.web.multipart.support.MissingServletRequestPartException 谁能帮助我解决这个问题? 我可以@RequestPart同时将Multipart和JSON发送到服务器吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.