使用重定向方法sendRedirect()将用户重新定向到一个JSP页面或另一个Servlet。
RequestDispatcher对象调用void forward(ServletRequest request,ServletResponse response)
方法可以将用户对当前JSP页面或Servlet的请求转发给RequestDispatcher对象所指定的JSP页面或Servlet。
jsp文件如下:
1 <%@ page contentType="text/html;charset=GB2312" %>2 3
两个Java文件如下:
1 package star.moon; 2 import java.io.*; 3 import javax.servlet.*; 4 import javax.servlet.http.*; 5 public class Verify extends HttpServlet 6 { public void init(ServletConfig config) throws ServletException 7 { super.init(config); 8 } 9 public void doPost(HttpServletRequest request,HttpServletResponse response) 10 throws ServletException,IOException11 { String name=request.getParameter("name"); //获取客户提交的信息12 String age=request.getParameter("age"); //获取客户提交的信息13 if(name.length()==0||name==null)14 { response.sendRedirect("input.jsp"); //重定向15 }16 else if(age.length()==0||name==null)17 { response.sendRedirect("input.jsp"); //重定向18 }19 else if(age.length()>0)20 { try { int numberAge=Integer.parseInt(age);21 if(numberAge<=0||numberAge>=150)22 { response.sendRedirect("input.jsp");23 }24 else25 { RequestDispatcher dispatcher= 26 request.getRequestDispatcher("forYouShowMessage");27 dispatcher.forward(request, response); //转发28 } 29 }30 catch(NumberFormatException e)31 { response.sendRedirect("input.jsp");32 }33 }34 } 35 public void doGet(HttpServletRequest request,HttpServletResponse response) 36 throws ServletException,IOException37 { doPost(request,response);38 }39 }
1 package star.moon; 2 import java.io.*; 3 import javax.servlet.*; 4 import javax.servlet.http.*; 5 public class ShowMessage extends HttpServlet 6 { public void init(ServletConfig config) throws ServletException 7 { super.init(config); 8 } 9 public void doPost(HttpServletRequest request,HttpServletResponse response) 10 throws ServletException,IOException11 { response.setContentType("text/html;charset=GB2312");12 PrintWriter out=response.getWriter();13 String name=request.getParameter("name"); //获取客户提交的信息14 String age=request.getParameter("age"); //获取客户提交的信息15 try{ byte bb[]=name.getBytes("ISO-8859-1");16 name=new String(bb,"gb2312");17 }18 catch(Exception exp){}19 out.print("您的姓名是:");20 out.print(name);21 out.print("您的年龄是:");22 out.print(age);23 } 24 public void doGet(HttpServletRequest request,HttpServletResponse response) 25 throws ServletException,IOException26 { doPost(request,response);27 }28 }
web.xml文件如下:
1 2 1824 25 Welcome to Tomcat 2627 Welcome to Tomcat28 29 30 31 32 3334 37getSquare 35star.moon.Verify 3638 41 42 43getSquare 39/verifyYourMessage 4044 47getSquareOrCubic 45star.moon.ShowMessage 4648 51 52getSquareOrCubic 49/forYouShowMessage 50