小编mic*_*nko的帖子

spring security未找到WebApplicationContext

我是春天安全的新手

我有 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">

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
    /WEB-INF/applicationContext-security.xml
</param-value>
</context-param>

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)

的applicationContext-security.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http auto-config="true">
    <intercept-url pattern="/register.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <intercept-url pattern="/*" access="ROLE_USER, ROLE_ADMIN" />       
    <logout logout-url="/logout"/>
</http>

<beans:bean id="myUserDetailsService" class="labas.spring.service.UserDetailsImp"/>

<authentication-manager>
    <authentication-provider user-service-ref='myUserDetailsService'/>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)

为什么当我运行它时,我得到了

java.lang.IllegalStateException:找不到WebApplicationContext:没有注册ContextLoaderListener?

怎么了?

spring spring-security

16
推荐指数
1
解决办法
2万
查看次数

Maven尝试下载依赖,尽管它存在于本地存储库中

我在本地存储库中安装了依赖项.依赖性来自的远程存储库现在由于某种原因而停止.当我尝试编译项目时,Maven说它无法解决依赖问题.但为什么???

maven-2

16
推荐指数
2
解决办法
2万
查看次数

嘲弄保护方法

我想模拟一个继承的受保护方法.我无法直接从java代码调用此方法,因为它从另一个包中的类继承.我找不到一种方法来指定这个方法来存入when(...)

package a;

public class A() {
    protected int m() {}
}

package b;

public class B extends a.A {
    // this class currently does not override m method from a.A
    public asd() {}
}

// test
package b;

class BTest {
    @Test
    public void testClass() {
        B instance = PowerMockito.spy(new B());
        PowerMockito.when(instance, <specify a method m>).thenReturn(123);
        //PowerMockito.when(instance.m()).thenReturn(123); -- obviously does not work
    }
}
Run Code Online (Sandbox Code Playgroud)

我查看了PowerMockito.when覆盖,这似乎只是私人方法!

如何指定受保护的方法?

java mockito powermock powermockito

16
推荐指数
1
解决办法
4万
查看次数

ThreadLocal垃圾回收

来自javadoc

只要线程处于活动状态且ThreadLocal实例可访问,每个线程都会保存对其线程局部变量副本的隐式引用; 在一个线程消失之后,它的所有线程局部实例副本都要进行垃圾收集(除非存在对这些副本的其他引用).

从那看起来,ThreadLocal变量引用的对象只有在线程死亡时才会被垃圾收集.但是如果ThreadLocal变量a不再被引用并且是垃圾收集的呢?a如果持有的线程a仍然存活,那么仅由变量引用的对象是否会被垃圾回收?

例如,以下类具有ThreadLocal变量:

public class Test {
    private static final ThreadLocal a = ...; // references object b
}
Run Code Online (Sandbox Code Playgroud)

此类引用一些对象,此对象没有其他引用.然后在上下文取消部署期间,应用程序类加载器成为垃圾收集的主题,但线程来自线程池,因此它不会死亡.对象b是否会被垃圾收集?

java garbage-collection classloader

15
推荐指数
3
解决办法
5947
查看次数

JAVA_HOME和maven依赖项的奇怪问题

我将JAVA_HOME变量设置为C:\Program Files\Java\jre6\当我在项目上运行maven包时它告诉我它无法解析依赖项

[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (default) on project roo: Execution default of goal o
rg.codehaus.mojo:aspectj-maven-plugin:1.0:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.0 or one of its dependencies
could not be resolved: Could not find artifact com.sun:tools:jar:1.4.2 at specified path C:\Program Files\Java\jre6/../lib/tools.jar ->
[Help 1]
Run Code Online (Sandbox Code Playgroud)

所以它假设JAVA_HOME实际上比实际更深一层,我查看了maven本地存储库并发现log4j 1.2.16使用了这个依赖

我试着让JAVA_HOME看起来像C:\Program Files\Java\jre6\bin\然后maven不会运行,它告诉我我的JAVA_HOME路径错了

maven-2 java-home

14
推荐指数
2
解决办法
6万
查看次数

13
推荐指数
2
解决办法
2万
查看次数

摆动流程布局中断元素

我有使用流程布局的面板.

如何在流程布局中取得突破?喜欢<br/>在HTML中.一些特殊的break元素或另一个技巧来指示指定的元素和所有后续必须转到下一行.

java swing

13
推荐指数
3
解决办法
3万
查看次数

server.xml中的环境/系统变量

如何在tomcat server.xml,context.xml等配置文件中使用环境/系统变量?

我尝试使用${ENV_VAR_NAME}(包括环境和系统变量),${env.ENV_VAR_NAME}(对于环境变量).似乎没有任何工作.

tomcat environment-variables system-variable

13
推荐指数
2
解决办法
9293
查看次数

maven无法解决依赖问题

我有多模块maven项目.当我尝试构建站点时,例如maven site在父项目上执行它无法解析对其中一个模块的依赖.但是,如果我只是编译(mvn clean compile在父项目上)或运行测试(mvn clean test在父项目上),则没有依赖性问题.

什么可能导致这种行为?

UPD

Maven版本

Apache Maven 3.0.2 (r1056850; 2011-01-09 02:58:10+0200)
Java version: 1.6.0_26, vendor: Sun Microsystems Inc.
Java home: c:\Program Files\Java\jdk1.6.0_26\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Run Code Online (Sandbox Code Playgroud)

maven-site-plugin版本

[DEBUG]   Included: org.apache.maven.plugins:maven-site-plugin:jar:2.0.1
Run Code Online (Sandbox Code Playgroud)

错误信息

[ERROR] Failed to execute goal on project myproj-client: Could not resolve dependencies for project mycompany.myproj:myproj-client:jar:0.0.1-SNAPSHOT: Could not find artifact mycompany.myproj:myproj-common:jar:0.0.1-SNAPSHOT -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute …
Run Code Online (Sandbox Code Playgroud)

java dependencies dependency-management maven

11
推荐指数
3
解决办法
7万
查看次数

如何连接到新安装的Oracle XE实例?

我在Win7 x64机器上安装了Oracle XE.安装成功完成没有问题,或者安装程序没有告诉他们.但安装后我无法连接到数据库; 它的网络界面不起作用.我查看了开放端口列表,并且没有安装过程中注意到的8080端口.我也无法通过SQLPlus连接.

SQL> connect SYSTEM
Enter password:
ERROR:
ORA-12638: Credential retrieval failed
Run Code Online (Sandbox Code Playgroud)

在网络的某个地方,它被告知编辑sqlnet.ora文件,我已经通过以下方式更改了它:

# SQLNET.AUTHENTICATION_SERVICES = (NTS)
SQLNET.AUTHENTICATION_SERVICES = (NONE)
Run Code Online (Sandbox Code Playgroud)

现在我得到下一个错误

SQL> connect SYSTEM
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能连接到它?

oracle oracle-xe oracle10g

9
推荐指数
2
解决办法
2万
查看次数