1.请求转发与响应重定向的概念

·转发

  1. 是服务器端的行为
  2. 发送了一次请求
  3. 网址不会发生变化
  4. 请求的数据不会丢失
  5. 一般情况下在进行查询操作时使用转发
  6. 方法:request.getRequestDispatcher("/reception/List.jsp").forward(request, response);

·重定向

  1. 是客户端的行为
  2. 发送了两次请求
  3. 网址会发生变化
  4. 请求的数据会丢失
  5. 一般情况下在进行增删改操作时使用重定向
  6. 方法:response.sendRedirect("地址");

2.应用

**前言:一开始我对转发跟重定向的理解很“偏”,理解的并不好,我自己也做练习项目,那我的华为项目来说吧,有很多地方很不完善,也想拿出来跟前辈分享一下,给我提点意见。有错误的地方还望指正。
GitHub:https://github.com/RickUniverse/HuaWei–注:代码在Linux上运行可能会出错 **

·转发

  1. 既然是查询专用,那就从首页的商品搜索栏开始
    点击“荣”

首页
请求转发跟响应重定向的具体应用
2.这里是通过表单提交,搜索页面的这部分代码跟首页面的是一样的,通过EL表达式接收参数“${param.commocityName}”,首页并不需要,所以没有写

jsp页面代码
请求转发跟响应重定向的具体应用

3.然后就会执行这行转发的代码

servlet代码
请求转发跟响应重定向的具体应用

  1. 因为使用的是转发,请求的数据并不会丢失,所以在搜索页面就可以使用EL表达式接收到 “荣”。

搜索页面
请求转发跟响应重定向的具体应用
5.配置只要出现了,便一定有这个配置的商品,价格,配置和分页都是使用ajax异步完成的,并没有使用转发,这里是可以使用转发的,不过会刷新页面。

搜索页面
请求转发跟响应重定向的具体应用
·重定向

这里提供的是我做的华为的后台,除了后台是找网上的模板,前台所有的代码都是自己一行一行码的。

  1. 直接增加一个商品

添加商品页面请求转发跟响应重定向的具体应用
2. 这里采用的也是表单提交

添加商品页面的代码
请求转发跟响应重定向的具体应用
3.因为是添加操作,请求的参数执行添加之后便不需要了,所以使用重定向,”path“是项目路径
请求转发跟响应重定向的具体应用
4.输入新添加的商品名“超级无敌荣耀”,点击查询按钮我们发现添加成功了!
请求转发跟响应重定向的具体应用

PS:这个练习项目还有很多功能,感兴趣的话开头有提供链接地址。
另外希望前辈提些意见!


END

相关文章: