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> English</option>
<option value="arabic"> اÙعربÙØ©</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 &圖像,但它並沒有將請求轉發到我的控制器,反之亦然
請協助
你的servlet如何映射,你也使用相對URL,這可能是有問題的。您的視圖解析器也使用相對路徑,因此可能會有問題。 –
從web.xml添加servlet映射 –
對於初學者,我建議在窗體和控制器中都使用絕對URL,即'/ j_spring_login'。也不知道您的視圖解析器是否正確設置,因爲它也使用相關的URL。和'resources'聽起來像是一個maven目錄,JSP應該位於'WEB-INF'目錄內的某個地方,以防止直接訪問。 –