博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重定向与转发
阅读量:4308 次
发布时间:2019-06-06

本文共 3779 字,大约阅读时间需要 12 分钟。

使用重定向方法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 
4 输入姓名:
5
输入年龄:
6
7

两个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
18
24 25
Welcome to Tomcat
26
27 Welcome to Tomcat28
29 30 31 32 33
34
getSquare
35
star.moon.Verify
36
37
38
getSquare
39
/verifyYourMessage
40
41 42 43
44
getSquareOrCubic
45
star.moon.ShowMessage
46
47
48
getSquareOrCubic
49
/forYouShowMessage
50
51 52

 

转载于:https://www.cnblogs.com/xh0102/p/5721659.html

你可能感兴趣的文章
PCB反推理念
查看>>
京东技术架构(一)构建亿级前端读服务
查看>>
php 解决json_encode中文UNICODE转码问题
查看>>
LNMP 安装 thinkcmf提示404not found
查看>>
PHP empty、isset、innull的区别
查看>>
apache+nginx 实现动静分离
查看>>
通过Navicat远程连接MySQL配置
查看>>
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>