@Controller
public class DL_ZCcontroller {
@PostMapping("/login")
public String verify(String username, String password, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
if(!username.equals("") && !password.equals("") && username!=null && password!=null) {
if(manager.examinationDL(username, password)) {
;
}
else {response.getWriter().println("😂连自己的用户名和密码都不记得了吗,再想想吧😊");
}
}
else {
response.getWriter().println("😒输入不能为空哦,请重新进行登录😊");
}
return "forum";
}}
前端ajax方式请求login接口,会发生什么?
前端会显示出response的输出内容,同时也会以文本的形式打印出forum.html的内容。
为什么会这样呢?
首先我们知道被@constroller注解的controller类,它里面的接口一定是要返回视图的(如html页面,jsp页面等),因为其里面的接口的返回值不能为void,而前端是ajax异步请求(请求和接受类型设置的是文本类型,XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");),页面是不会跳转的,所以接口返回的视图将被ajax异步请求对象XMLHttprequest以文本的形式接收。