2015-06-22 38 views
0

我有一個jsp,它正在提交一個表單。<mvc:default-servlet-handler />封鎖控制器

<form name="loginForm" id="loginForm" action="j_spring_login" method="post" class="login-form"> 
    <div class="login-inputTxt"><input type="text" class="form-control" id="username" placeholder="User Name" required autofocus value=""/></div> 
    <!--<small class="help-block" id="username-error-msg" style="display: none;"></small>--> 
    <div class="login-inputTxt"><input type="password" class="form-control" id="password" placeholder="Password" required value=""/></div> 
    <!--<small class="help-block" id="password-error-msg" style="display: none;"></small>-->       
    <div class="login-inputTxt"> 
     <select name="languagesel" id="languagesel" class="form-control" onChange="FnSelectLanguage(this.value)"> 
      <option value="english" selected> &nbsp;&nbsp; English</option> 
      <option value="arabic"> &nbsp;&nbsp; اÙعربÙØ©</option> 
     </select> 

    </div> 


    <div class="clearfix"></div> 

    <div class="form-group text-center"> 
    <input type="submit" value="TEST"> 
    <!-- <a href="Javascript:void(0)" class="btn btn-default btn-block lngsigninhead" id="loginFormButton" onclick="FnLogin()">Sign In</a> --> 
    </div> 
    <span class="progress-bar text-right pull-right" id="progress-bar-login" style="display: none;"></span> 
    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> 


    <!-- <div class="checkbox"><label style="font-size: 12px; color: #e8c31c; text-transform: initial;">Forgot Password?</label></div> -->  
</form> 

在我的applicationContext我有

<context:component-scan base-package="com.smart.city.*"></context:component-scan> 
<mvc:default-servlet-handler /> 
<!-- <mvc:annotation-driven /> --> 
<bean id="jspViewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="resources/jsp/" /> 
    <property name="suffix" value=".jsp" /> 

</bean> 

我有一個控制器

@Controller 
public class LoginController { 
    @RequestMapping(value ="j_spring_login",method = RequestMethod.POST) 
    public ModelAndView maintainUserSession(HttpServletRequest request) { 

     System.out.println("::::::::::: in maintainUserSession :::::::::" + request.getParameter("username")); 
     System.out.println("::::::::::: in maintainUserSession :::::::::" + request.getParameter("password")); 

    } 
} 

這裏是我的web.xml - servlet映射

<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/applicationContext.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

我的問題是,如果我使用<mvc:default-servlet-handler />我的JSP加載所有的靜態CSS,JS &圖像,但它並沒有將請求轉發到我的控制器,反之亦然

請協助

+0

你的servlet如何映射,你也使用相對URL,這可能是有問題的。您的視圖解析器也使用相對路徑,因此可能會有問題。 –

+0

從web.xml添加servlet映射 –

+0

對於初學者,我建議在窗體和控制器中都使用絕對URL,即'/ j_spring_login'。也不知道您的視圖解析器是否正確設置,因爲它也使用相關的URL。和'resources'聽起來像是一個maven目錄,JSP應該位於'WEB-INF'目錄內的某個地方,以防止直接訪問。 –

回答

0

嘗試前綴值更改爲/資源/ JSP。我希望這個問題得到解決