编写处理用户登录请求的LoginServlet类,如果在登录页面输入的用户名和密码正确就重定向到欢迎页面(welcome.html),否则重定向到登录页面(login.html)
LoginServle.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name="admin";
String pw="123456";
String username=request.getParameter("name");
String password=request.getParameter("password");
if(!name.equals(username)) {
response.sendRedirect("/WEB_TASK/login.html");
}else if(!pw.equals(password)) {
response.sendRedirect("/WEB_TASK/login.html");
}else {
response.sendRedirect("/WEB_TASK/welcome.html");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
welcome.html
Insert title here WELCOME To Login!!!!
login.html
Insert title here 登录页面
输入正确的用户名admin和密码123456
此时跳转到welcome.html页面
输入错误的用户名和密码,会再次登陆
跳转到login.html页面
编写接收用户请求的RequestForwardServlet,保存字符串数据到请求对象中,然后将请求转发给ResultServlet,ResultServlet取出保存在请求对象中的字符串数据并输出到客户端。
代码1:RequestForwardServlet.java
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RequestForwardServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取转发对象 转发到ResultServlet
RequestDispatcher dispatcher=request.getRequestDispatcher("/ResultServlet");
// 调用转发方法 实现转发效果
request.setAttribute("name", "aynu");
dispatcher.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
代码2:ResultServlet.java
package lxq;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ResultServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
// 解决中文乱码问题
response.setContentType("text/html;charset=utf-8");
Object attribute=request.getAttribute("name");
response.getWriter().write("RequestForwardServlet中保存的字符串是 : "+attribute);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
在RequestForwardServlet转发到ResultServlet,并输出



