Questions tagged «spring-mvc»

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

2
mvc:resources的注释配置替换-Spring
我试图升级我的spring mvc项目,以利用新的注释并摆脱我的xml。以前,我web.xml通过以下行将静态资源加载到我的行中: <mvc:resources mapping="/resources/**" location="/resources/" /> 现在,我正在利用WebApplicationInitializer类和@EnableWebMvc批注来启动没有任何xml文件的服务,但似乎无法弄清楚如何加载我的资源。 是否有注释或新配置可将这些资源拉回而无需使用xml?

4
在类和方法上定义@Transactional有什么区别
情况1 @Transactional public class UserServiceImpl implements UserService { ................... public void method1(){ try{ method2(); }catch(Exception e){ } } public void method2(){ } } 案例2 public class UserServiceImpl implements UserService { ................... public void method1(){ try{ method2(); }catch(Exception e){ } } @Transactional public void method2(){ } } 在情况1中,如果发生任何异常,则回滚有效,但在情况2中,回滚无效。如果遵循case1,是否有任何性能问题?

3
Spring RedirectAttributes:addAttribute()与addFlashAttribute()
到目前为止,我对控制器请求映射方法的理解是,我们可以指定RedirectAttributes参数,并在请求重定向时使用属性填充该参数。 范例: @RequestMapping(value="/hello", method=GET) public String hello(RedirectAttributes redirAttr) { // should I use redirAttr.addAttribute() or redirAttr.addFlashAttribute() here ? // ... return "redirect:/somewhere"; } 然后,重定向属性将在重定向到的目标页面上可用。 但是,RedirectAttributes类具有两种方法: addAttribute() addFlashAttribute() 已经阅读了一段时间的Spring文档,但是我有点迷茫。两者之间的根本区别是什么,我应该如何选择使用哪一个?

18
使用spring-boot-starter-web“找不到可接受的表示形式”
我试图用来spring-boot-starter-web创建一个REST服务来提供Java对象的JSON表示。据我了解,这个boot-starter-web jar应该能够自动处理通过Jackson的JSON转换,但是我却遇到了这个错误。 { "timestamp": 1423693929568, "status": 406, "error": "Not Acceptable", "exception": "org.springframework.web.HttpMediaTypeNotAcceptableException", "message": "Could not find acceptable representation" } 我的控制器是这个... @RestController @RequestMapping(value = "/media") public class MediaController { @RequestMapping(value = "/test", method = RequestMethod.POST) public @ResponseBody UploadResult test(@RequestParam(value="data") final String data) { String value = "hello, test with data [" …

11
在SpringBoot测试中加载不同的application.yml
我正在使用运行我的src / main / resources / config / application.yml的spring boot应用程序。 当我通过以下方式运行测试用例时: @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = Application.class) @WebAppConfiguration @IntegrationTest public class MyIntTest{ } 测试代码仍然运行我的application.yml文件以加载属性。我想知道在运行测试用例时是否可以运行另一个* .yml文件。


6
为OPTIONS Http方法禁用Spring Security
是否可以为某种HTTP方法禁用Spring Security? 我们有一个Spring REST应用程序,其服务需要在HTTP请求的标头中附加授权令牌。我正在为此编写一个JS客户端,并使用JQuery发送GET / POST请求。该应用程序使用此过滤器代码启用了CORS。 doFilter(....) { HttpServletResponse httpResp = (HttpServletResponse) response; httpResp.setHeader("Access-Control-Allow-Origin", "*"); httpResp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); httpResp.setHeader("Access-Control-Max-Age", "3600"); Enumeration<String> headersEnum = ((HttpServletRequest) request).getHeaders("Access-Control-Request-Headers"); StringBuilder headers = new StringBuilder(); String delim = ""; while (headersEnum.hasMoreElements()) { headers.append(delim).append(headersEnum.nextElement()); delim = ", "; } httpResp.setHeader("Access-Control-Allow-Headers", headers.toString()); } 但是,当JQuery发送针对CORS的OPTIONS请求时,服务器将以“授权失败”令牌进行响应。显然,OPTIONS请求缺少授权令牌。那么有可能让OPTIONS从Spring Security …

8
Spring数据jpa-未定义名为'entityManagerFactory'的bean。自动连接的依赖项注入失败
我正在使用spring数据jpa,hibernate,mysql,tomcat7,maven开发应用程序,并且创建错误。我试图弄清楚,但失败了。 错误是在设置构造函数参数时无法解析对bean'entityManagerFactory'的引用;没有定义名为'entityManagerFactory'的bean。自动连接的依赖项注入失败 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initDbService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.wahid.cse.repository.RoleRepository org.wahid.cse.service.InitDbService.roleRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleRepository': Cannot create inner bean '(inner bean)#c08f81' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested …


5
对依赖于请求上下文的方法进行单元测试
我正在为包含以下行的方法编写单元测试: String sessionId = RequestContextHolder.currentRequestAttributes().getSessionId(); 我收到以下错误: java.lang.IllegalStateException:找不到线程绑定的请求:您是在实际的Web请求之外引用请求属性,还是在原始接收线程之外处理请求?如果您实际上是在Web请求中操作并且仍然收到此消息,则您的代码可能在DispatcherServlet / DispatcherPortlet之外运行:在这种情况下,请使用RequestContextListener或RequestContextFilter公开当前请求。 原因很明显-我没有在请求上下文中运行测试。 问题是,如何在测试环境中测试包含对依赖于请求上下文的方法的调用的方法? 非常感谢你。

1
使用Spring MVC返回生成的pdf
我正在使用Spring MVC。我必须编写一个服务,该服务将从请求主体中获取输入,将数据添加到pdf中,然后将pdf文件返回到浏览器。pdf文档是使用itextpdf生成的。如何使用Spring MVC做到这一点。我试过使用这个 @RequestMapping(value="/getpdf", method=RequestMethod.POST) public Document getPDF(HttpServletRequest request , HttpServletResponse response, @RequestBody String json) throws Exception { response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment:filename=report.pdf"); OutputStream out = response.getOutputStream(); Document doc = PdfUtil.showHelp(emp); return doc; } 生成pdf的showhelp函数。我只是暂时将一些随机数据放入pdf中。 public static Document showHelp(Employee emp) throws Exception { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("C:/tmp/report.pdf")); document.open(); …

5
jQuery,Spring MVC @RequestBody和JSON-使之协同工作
我想要双向JSON到Java的序列化 我正在成功使用Java到JSON到jQuery的路径...(@ResponseBody)例如 @RequestMapping(value={"/fooBar/{id}"}, method=RequestMethod.GET) public @ResponseBody FooBar getFooBar( @PathVariable String id, HttpServletResponse response , ModelMap model) { response.setContentType("application/json"); ... } 在JQuery中,我使用 $.getJSON('fooBar/1', function(data) { //do something }); 这很好用(例如,感谢所有回答者,注释已经可以使用了) 但是,我该如何反向:使用RequestBody将JSON序列化回Java对象吗? 无论我尝试什么,我都无法工作: @RequestMapping(value={"/fooBar/save"}, method=RequestMethod.POST) public String saveFooBar(@RequestBody FooBar fooBar, HttpServletResponse response , ModelMap model) { //This method is never called. (it does …

3
在Spring中结合GET和POST请求方法
我有同时支持GET和POST请求的资源。这里是示例资源的示例代码: @RequestMapping(value = "/books", method = RequestMethod.GET) public ModelAndView listBooks(@ModelAttribute("booksFilter") BooksFilter filter, two @RequestParam parameters, HttpServletRequest request) throws ParseException { LONG CODE } @RequestMapping(value = "/books", method = RequestMethod.POST) public ModelAndView listBooksPOST(@ModelAttribute("booksFilter") BooksFilter filter, BindingResult result) throws ParseException { SAME LONG CODE with a minor difference } 这两个方法中的代码实际上是相同的,除了可以说一个变量定义。可以使用method = {RequestMethod.POST, …

12
如何使用Spring Boot提供位于Dropbox文件夹中的静态内容?
我有一个Spring Boot Web应用程序,我想提供位于Linode VPS上共享的Dropbox目录中的静态内容(〜/ Dropbox / images)。我读过Spring Boot将自动从 "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/", 但是我的Dropbox目录当然不在classpath上。 尽管我可以配置Apache来在我的Dropbox文件夹中提供图像,但是我想利用Spring Security将静态内容的访问限制为经过身份验证的用户。


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.