Java Spring Security taglib没有';行不通
我有麻烦了。。在我的WEB-INF/lib中,我得到了JAR,它们都是版本4.2.4中的SpringJAR,但有两个例外:SpringSecurity配置有4.0.3和SpringSecurity标记库 spring-dispatcher-servlet.xml:Java Spring Security taglib没有';行不通,java,xml,spring-mvc,spring-security,Java,Xml,Spring Mvc,Spring Security,我有麻烦了。。在我的WEB-INF/lib中,我得到了JAR,它们都是版本4.2.4中的SpringJAR,但有两个例外:SpringSecurity配置有4.0.3和SpringSecurity标记库 spring-dispatcher-servlet.xml: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/c
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.damian.controller" />
<mvc:annotation-driven />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
/WEB-INF/
.jsp
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>OnlineShop</display-name>
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
网上商店
春季调度员
org.springframework.web.servlet.DispatcherServlet
春季调度员
/
堆栈跟踪:
sty 09, 2016 9:10:13 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring-dispatcher] in context with path [/OnlineShop] threw exception [An exception occurred processing JSP page /WEB-INF/Main.jsp at line 54
51: style="text-decoration: none; color: #000">WALLETS</a>
52: </h2>
53:
54: <sec:authorize url="/logged">
55: <div class="cart">
56: <a href="http://localhost:8080/OnlineShop/cart.html"
57: style="text-decoration: none; color: #000"> Cart </a>
Stacktrace:] with root cause
java.lang.ClassNotFoundException: org.springframework.security.access.expression.SecurityExpressionHandler
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderB ase.java:1167)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java: 127)
at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(Defa ultInstanceManager.java:327)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:136)
at org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:121)
at org.apache.jsp.WEB_002dINF.Main_jsp._jspx_meth_sec_005fauthorize_005f0(Main_jsp.java:215)
at org.apache.jsp.WEB_002dINF.Main_jsp._jspService(Main_jsp.java:172)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:719)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:465)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:390)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:317)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
sty 092016 9:10:13 PM org.apache.catalina.core.StandardWrapperValve调用
严重:路径为[/OnlineShop]的上下文中Servlet[spring dispatcher]的Servlet.service()引发异常[处理第54行的JSP页/WEB-INF/Main.JSP时发生异常]
51:style=“文本装饰:无;颜色:#000”>钱包
52:
53:
54:
55:
56:
Stacktrace:]具有根本原因
java.lang.ClassNotFoundException:org.springframework.security.access.expression.SecurityExpressionHandler
位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
位于java.lang.Class.getDeclaredMethods0(本机方法)
位于java.lang.Class.privateGetDeclaredMethods(未知源)
位于java.lang.Class.getDeclaredMethods(未知源)
在org.apache.catalina.util.Introspection.getDeclaredMethods上(Introspection.java:127)
位于org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(Defa ultInstanceManager.java:327)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:136)
位于org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:121)
在org.apache.jsp.WEB\u 002dINF.Main\u jsp.\u jspx\u meth\u sec\u 005fauthorize\u 005f0(Main\u jsp.java:215)
位于org.apache.jsp.WEB_002dINF.Main_jsp.\u jsp服务(Main_jsp.java:172)
位于org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
位于org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
位于org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:719)
位于org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:465)
位于org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:390)
位于org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:317)
位于org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
位于org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
位于org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
位于org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
位于org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
在爪哇
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
<sec:authorize url="/logged">
<div class="cart">
<a href="http://localhost:8080/OnlineShop/cart.html"
style="text-decoration: none; color: #000"> Cart </a>
</div>
</sec:authorize>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>4.0.3.RELEASE</version>
</dependency>