ssh登录提交后跳转界面404错误

初学者,一个简单的动态web项目,用的ssh(springmvc+spring+hibernate)构建,做的一个登录的小案例,用户名和密码都是代码写死的,点击登录按钮,跳转到对应的的页面。项目目录结构如下:
图片描述

index.jsp是项目的主界面,也就是登录界面,主要表单代码如下:

<form class="login-box" action="person/login" method="post">

<div class="username"><span>用户名</span><input type="text" name="username"></div>

<div class="passowrd"><span>密码</span><input type="password" name="password"></div>

<div class="login-btn"><input type="submit" name="" value="登录"></div>

</form>

对应的Controller主要代码如下:

@Controller

@RequestMapping(value="/person")

public class PersonController {

@Autowired

private PersonService personSerivce;

@RequestMapping("/login")

public String login(String username,String password,Map<String, Object> map) {

if(username.equals("admin") && password.equals("admin")) {

map.put("username", username);

return "main";

}

return "error";

}

}

视图解析器我在springmvc.xml中也配置了

<!-- 配置视图解析器 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/views/"/>

<property name="suffix" value=".jsp"/>

</bean>

为什么我这里点击登录提交后,页面不是跳转到main.jsp这个页面而是报错404呢?
图片描述

求大佬帮忙解答下。

回答:

controller修改下:

@Controller

public class PersonController {

@Autowired

private PersonService personSerivce;

@RequestMapping("/person/login")

public String login(String username,String password,Map<String, Object> map) {

if(username.equals("admin") && password.equals("admin")) {

map.put("username", username);

return "main";

}

return "error";

}

}

-----------------补充
action改成这个

<form class="login-box" action="/person/login" method="post">

<div class="username"><span>用户名</span><input type="text" name="username"></div>

<div class="passowrd"><span>密码</span><input type="password" name="password"></div>

<div class="login-btn"><input type="submit" name="" value="登录"></div>

</form>

回答:

检查下你得url匹配,看你提供的controller拦截的是/login,表单提交的是person/login,确认下person路径有配置么

回答:

form的action属性改为${pageContext.request.contextPath}/person/login

回答:

你这个是进入你的controller时报的404错误,也就是说没有找到你的login,你检查一下你的前端控制器,有没有指定后缀

回答:

4开头的都是客户端错误,检查路径

以上是 ssh登录提交后跳转界面404错误 的全部内容, 来源链接: utcz.com/a/167383.html

回到顶部