我有如下的控制器方法:
@RequestMapping(value = "/login/do", method = RequestMethod.POST)
public String loginProcess(@RequestParam("email") String email, @RequestParam("password") String password,
HttpSession session) {
session.setAttribute("email", email);
Optional<User> userDetail = userRepository.findById(email);
if (userDetail.isPresent()) {
String userType = userDetail.get().getUserType();
String passwordDb = userDetail.get().getPassword();
if (password.equals(passwordDb) && userType.equals("admin")) {
return "adminPage";
} else if (password.equals(passwordDb) && userType.equals("candidate")) {
return "candidatePage";
} else {
return "passwordError";
}
} else {
return "invalid";
}
我有URL localhost:8080 / login / do作为URL 对于方法中的登录过程方法,在执行时会编写一些业务逻辑,它将带我到一些页面候选人。html,passworderror.html等,但是在移至该URL显示为本地主机的任何页面时: 8080 / login / candidate.jsp在这里,我不想/ login出现在URL中。 强文本 因为如果我向前移localhost:8080 ** /
,则从这里开始移至任何页面**登录****
/candidate.jsp默认存在。 预期的网址不应再包含登录信息。
答案 0 :(得分:0)
从属性文件中删除(如果存在):
server.servlet.context-path=
,还指定创建jsp页面的位置,还提及属性文件配置和@Controller注释代码。