Tag: spring mvc

@Around建议究竟如何在Spring AOP中运行?

我正在研究Spring AOP模块,我对AROUND建议的确切运作方式有些怀疑。 阅读官方文档: http : //docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html 我可以阅读有关AROUND ADVICE的内容 : 围绕建议:围绕连接点的建议,例如方法调用。 这是最有力的建议。 around通知可以在方法调用之前和之后执行自定义行为。 它还负责选择是继续加入点还是通过返回自己的返回值或抛出exception来快速建议的方法执行。 这是周围建议的序列图: 因此,根据我的理解,我可以定义一个建议(我的自定义行为),它将在切入点指定的关节点之前和之后执行。 例如,我可以通过这种方式定义AROUND ADVICE : @Around(“execution(@example.Cacheable * rewards.service..*.*(..))”) public Object cache(ProceedingJoinPoint point) throws Throwable { Object value = cacheStore.get(cacheKey(point)); if (value == null) { value = point.proceed(); cacheStore.put(cacheKey(point), value); } return value; } 在调用服务方法之前和之后执行已实现的chaching行为。 这样对吗? 我无法完全理解的是它是如何使用ProceedingJoinPoint点参数的。 根据我的理解,它用于选择执行或不执行特定操作但具体如何工作? 另一个疑问是如何正确使用AOP建议如何回答以下问题: 如果我想尝试捕获exception,我必须使用哪些建议? 我认为在这种情况下,答案是使用After throw advice,因为当匹配的方法执行通过抛出exception退出时,通知会执行。 […]

Spring 4.2.3.RELEASE和Hibernate 5.0.4.Final兼容性问题

有没有人一起配置Spring 4.2.3.RELEASE和Hibernate 5.0.4.Final? 来自Spring的官方文档说从版本4.2开始支持Hibernate版本5.但是如果将它们配置在一起我总是得到以下exception Exception in thread “main” java.lang.NoSuchMethodError: org.springframework.aop.framework.autoproxy.AutoProxyUtils.determineTargetClass(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/lang/String;)Ljava/lang/Class; at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:78) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:792) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:838) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83) at me.shafin.sustord.dao.App.main(App.java:8) 这是pom.xml 4.0.0 org.springframework.samples.service.service RokomiMoc 0.0.1-SNAPSHOT war 1.8 UTF-8 UTF-8 2.3.1 1.2 3.1.0 4.2.3.RELEASE 3.2.5.RELEASE 5.0.4.Final 5.0.1.Final 1.1.0.Final 1.3.1 1.0.13 1.7.5 4.11 1.8 1.8 org.springframework spring-core ${spring-framework.version} org.springframework spring-webmvc ${spring-framework.version} org.springframework spring-orm […]

cvc-complex-type.2.4.c:匹配的通配符是strict,但是找不到元素’mvc:annotation-driven’的声明

我想这是一个xml解析问题,但我无法看到它在哪里。 我读了一些关于这个主题的文章并没有任何帮助: 我有这个spring的mvc配置: <!– was: –> 这就是tomcat所说的: org.xml.sax.SAXParseException; lineNumber: 23; columnNumber: 30; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element ‘mvc:annotation-driven’. com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134) com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437) com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458) com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237) com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1917) com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:766) com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:356) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786) com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348) org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:428) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216) org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) […]

Rails用Java编写flash消息

在Java世界中,实现类似Rails的flash消息(如“更新成功” http://api.rubyonrails.org/classes/ActionController/Flash.html )的最佳方法是什么? 我正在使用Spring MVC。

bean中的Spring JavaConfig属性没有设置?

我正在考虑使用Spring JavaConfig和一些属性文件,但bean中的属性没有设置?在bean中没有设置? 这是我的WebConfig: @Configuration @EnableWebMvc @PropertySource(value = “classpath:application.properties”) @Import(DatabaseConfig.class) @ImportResource(“/WEB-INF/applicationContext.xml”) public class WebMVCConfig extends WebMvcConfigurerAdapter { private static final String MESSAGE_SOURCE = “/WEB-INF/classes/messages”; private static final Logger logger = LoggerFactory.getLogger(WebMVCConfig.class); @Value(“${rt.setPassword}”) private String RTPassword; @Value(“${rt.setUrl}”) private String RTURL; @Value(“${rt.setUser}”) private String RTUser; @Bean public ViewResolver resolver() { UrlBasedViewResolver url = new UrlBasedViewResolver(); url.setPrefix(“/WEB-INF/view/”); url.setViewClass(JstlView.class); url.setSuffix(“.jsp”); […]

想要创建一个filter来检查cookie,然后从控制器保存对象和引用

我想创建一个在我的任何spring mvc控制器操作之前执行的filter。 我想检查cookie的存在,然后只为当前请求存储一个对象。 然后我需要从我的控制器动作中引用这个对象(如果它存在)。 关于如何做到这一点的建议?

如何确定使用Spring Security访问URL所需的角色?

我正在使用Spring Security来保护webapp。 URL是这样保护的: … 我有一个filter,在某些情况下需要将用户重定向到特殊页面。 但是,该页面需要资产目录中的图像和CSS文件,遗憾的是,这些文件也会被重定向到该特殊页面。 我不希望filter手动检查每个URL模式,因为我的实际URL配置要长得多,而且我还想允许其他页面。 有没有办法从filter中确定给定页面需要哪些角色? 如果不需要ROLE_ANONYMOUS,我可以选择不重定向。

Spring Boot + Websocket(SockJS)

我正在尝试创建一个服务器,以便在发生更改时通知已连接的客户端。 为此,我使用Spring Boot作为服务器。 为了传递通知,每个客户端都与服务器建立套接字。 我使用了这个指南: https : //spring.io/guides/gs/messaging-stomp-websocket/它完美无缺。 在此示例中,客户端通过套接字发送消息,服务器响应。 问题是我无法找到服务器向客户端发送消息的方式,而无需客户端先发送消息! 是否可以列出所有连接的websockets? 谢谢,

Spring安全打开弹出窗口

当用户执行需要进行身份validation但未执行身份validation的操作时,有人知道如何打开弹出窗口进行身份validation(使用spring security)。 例如:假设页面有一个“立即购买”按钮,将产品添加到购物车并执行结帐(立即购买页面),如果用户已经过身份validation,或者打开弹出窗口供用户执行身份validation。 如果validation成功,则弹簧重定向到“立即购买”页面,或者在打开弹出窗口时停留在该页面中(错误消息“错误登录”)。 我已经在谷歌搜索了一种解决方案,但没有运气。 有人可以指出我正确的方向吗? 谢谢

如何装饰所有请求从标头中获取值并将其添加到body参数?

背景 我正在使用Spring MVC创建RESTful服务。 目前,我有一个控制器的结构如下: @RestController @RequestMapping(path = “myEntity”, produces=”application/json; charset=UTF-8″) public class MyEntityController { @RequestMapping(path={ “”, “/”} , method=RequestMethod.POST) public ResponseEntity createMyEntity( @RequestBody MyEntity myEntity, @RequestHeader(“X-Client-Name”) String clientName) { myEntity.setClientName(clientName); //rest of method declaration… } @RequestMapping(path={ “/{id}”} , method=RequestMethod.PUT) public ResponseEntity updateMyEntity( @PathVariable Long id, @RequestBody MyEntity myEntity, @RequestHeader(“X-Client-Name”) String clientName) { myEntity.setClientName(clientName); //rest of […]