我很难弄清楚问题出在哪里。
我认为最简单的方法是使用一个带有请求映射的控制器。
移动应用程序有它自己的身份验证系统,所以访问url需要是开放的/匿名的。
我已经设置了以下内容:
@Controller
public class UpdateService
{
@Autowired
private Config _appConfig;
@Autowired
private SubscriptionsHandler _subscriptionsHandler;
@RequestMapping(value = "/events/update")
@ResponseBody
public String UpdateEventList(String token) throws SQLException
{
ExternalUpdateHandler updateHandler = new ExternalUpdateHandler(_appConfig, _subscriptionsHandler);
updateHandler.MaybeUpdateBasedOn(token);
return "";
}
}
<http pattern="/events/update" security="none" />
<http auto-config="true" entry-point-ref="authenticationEntryPoint">
<!-- Allow access to the login page by unauthenticated users -->
<intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/events/update" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/**" access="ROLE_USER" />
....
</http>
在日志中,当服务器运行时,我会得到以下消息:
2014-06-25 17:23:40,693[RMI TCP连接(3)-127.0.0.1]信息org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping-将“{[/events/update],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}”映射到公共java.lang.String...updateService.updateEventList(java.lang.String)抛出
这似乎表明请求映射正在按预期工作。
在关闭该请求的安全性之前,我获取了登录表单作为对curling的响应。这似乎表明安全切换也起到了作用。
我有点没主意了!我们将不胜感激。干杯
我正在使用下面的卷曲:
curl -i http://localhost:8100/events/update
dispatcher-servlet.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
</beans>
这里还引用了dispatcher servlet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app id="compass"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>compass</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Spring Security -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Default session timeout -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>
</web-app>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
因为您已经在/api/*
下部署了Spring Dispatcher Servlet,所以您的所有Spring控制器URL都将在该文件下。因此,在测试用例中,只需执行以下操作:
http://localhost:8100/api/events/update
我试图实现的是从main方法获取控制器实例,这样我就可以从另一个类调用控制器的方法并更新fxml。总之,这是我的代码: 主要类别: 我的控制器类: 试图调用控制器方法的类: 下面是我的错误信息: ConnectionHandling类:
有类似的主题,但它们都使用xml配置文件。我之所以写这个问题,是因为我使用了注释。 我在运行应用程序时遇到问题: 在尝试设置Spring servlet时,获取WARNorg.springframework.web.servlet.PageNotes-未找到HTTP请求与URI的映射 尝试在服务器上运行时出现错误404 以下是我的代码(跳过包和导入): 1)初始化器 2)应用配置 3)控制器 控制
是的。我知道这是一个熟悉的问题。我已经研究了其他解决方案,但它们没有帮助我。我正在尝试用Spring 4、HiberNate 5、My Sql和Angular JS 1. x构建Spring MVC应用程序 问题:如图所示,当我运行应用程序时,它按照预期index.jsp文件,然后我输入“”以获得网页“adduser.html”。嘣,它会抛出以下错误“在DispatcherServlet中,没有找
问题内容: 是否可以在两个不同的post方法的请求映射中使用相同的url,仅请求正文有所不同。 问题答案: 不,您不能在具有不同请求主体类型但介质类型相同的post方法的请求映射中提供相同的url。以下将不起作用: 如果您使用不同的媒体类型,那么它将。下面将工作: 您在至少一项条件上应有所不同;
当存在多个时,视图解析器如何确定要加载哪个控制器。 我正在从头开始学习Spring,正如我的导师所说,我们只需要一个带有注释的控制器类。如果我有多个带有注释的类,以及如何确定要加载哪个控制器类,因为Spring是Singleton,并且只有一个控制器类存在。