2016-01-09 124 views
0

我得到了问题..在我的WEB-INF/lib我得到的罐子,他们都是4.2.4版本的弹簧罐,但有两个例外:spring-security-config has 4.0.3和弹簧安全标记库太春季安全taglib不起作用

弹簧调度 - servlet.xml中:

<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.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> 

堆栈跟踪:

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) 

main.jsp中:

<%@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> 

回答

0

检查,如果你在你的classpath

<dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>4.0.3.RELEASE</version> 
    </dependency> 
+0

我不使用Maven ......我说有spring-security-core spring-security-core但仍不起作用 – dante

+0

该类(java.lang.ClassNotFoundException:org.sprin gframework.security.access.expression.SecurityExpressionHandler)用于这个spring-security-core软件包,仔细检查一下你的war/WEB-INF/lib – user2669657