首先介绍一下resquest和response对象
request:request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。
request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。response:response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
在response对象中有getWriter()方法可以获取PrintWrite对象用于向页面发送响应,所以可以使用该对象向页面输出js脚本:
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userService.userLogin(username, password);
if(user!=null && user.getId()!=null){
response.sendRedirect(request.getContextPath()+"/index.jsp");
}else{
PrintWriter out = response.getWriter();
out.print("<script type='text/javascript'>alert('登录失败');");
out.print("location.href='/LuceneSearch/login.jsp';");
out.print("</script>");
}