2016-10-19 3 views
1

, 그것은 먼저 로그인 폼을 표시해야하지만, 난이 오류받을 :오류 - 자바 스프링 i는 기본 URL에 액세스 할 때

HTTP Status 500 - java.lang.IllegalStateException: No WebApplicationContext found: not in a DispatcherServlet request and no ContextLoaderListener registered? 

그래서, 내가 좋아하는 내 프로젝트에 액세스하려고를 :

<welcome-file-list> 
    <welcome-file>/WEB-INF/jsp/login.jsp</welcome-file> 
</welcome-file-list> 

그래서이 그것의 login.jsp 리디렉션 의미 web.xml의 http://localhost:8080/project/

는이 코드를 가지고있다. 해당 파일이 코드가 인공 지능 :

<form:form action="login/execute.html" id="signin-form_id" class="panel" method="post"> 
    <div class="alert alert-danger"> 
     Error here 
    </div> 
    <div class="form-group"> 
     <form:input path="username" class="form-control input-lg" placeholder="Username or email" /> 
    </div> 
    <!--/Username --> 

    <div class="form-group signin-password"> 
     <form:input path="password" class="form-control input-lg" placeholder="Password" /> 
    </div> 
    <!--/Password --> 

    <div class="form-actions"> 
     <input type="submit" value="Sign In" 
      class="btn btn-primary btn-block btn-lg"> 
    </div> 
    <!--/.form-actions --> 
</form:form> 

하고 오류가 여기에 표시 :

<form:form action="login/execute.html" id="signin-form_id" class="panel" method="post"> 

그래서, 내가 직접 JSP에 액세스하고 컨트롤러를 통해 처음으로 통과해야하기 때문에 오류가 발생 생각, 컨트롤러는이 같은 컨트롤러에서 내가 가지고있는 JSP 렌더링합니다 ...

@RequestMapping(value = "/", method = RequestMethod.GET) 
public ModelAndView showLogin(){ 

    return new ModelAndView("login","command",new UserAdmin()); 

} 

을하지만, 작동하지 않는

의 web.xml :

<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> 
<welcome-file-list> 
    <welcome-file>/WEB-INF/jsp/login.jsp</welcome-file> 
</welcome-file-list> 

스프링 서블릿 :

<context:component-scan base-package="com.fabbydesign.controller" /> 

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 
+0

완전한'web.xml' 파일과'dispatcher-servlet.XML' 파일을 보여주세요 – Jens

+0

'web.xml'에'ContextLoaderListener'에 대한 항목이 있습니까? – Rehman

+0

질문에 덧붙여졌습니다 – fabby

답변

0

이유 및 솔루션 :

  • Welcome file to work,you need change the URL pattern <url-pattern>/</url-pattern> ../ means any request that does not have a path info in it.
  • With the URL pattern(*.html) @RequestMapping(value = "/", method = RequestMethod.GET) this will not work. You need to change either mapping to value = "/.html" or URL pattern.

더 많은 정보에 대한 <url-pattern>here입니다.

+0

이것은 해결책 이었지만 제거해야했습니다 : – fabby

+0

하지만 /WEB-INF/jsp/login.jsp을 제거해야했습니다. 모두에게 감사드립니다! – fabby

관련 문제