最近学习servlet、jsp开发系统,有些问题想请教各位牛人

meerkatsky 2013-11-08 02:17:16
我最近在用jsp、servlet做开发,有几个问题想问下各位牛人,
问题1:
我知道请求转发和请求重定向的区别,但我想问下在实际开发中什么时候用请求重定向,什么时候用请求转发?
问题2:
我想问下,在实际开发中,要访问一个jsp一定要先跳转到一个servlet然后再跳到jsp吗?
问题3:
jsp页面应该放到WEB-INF下,以保护不让外界直接访问吗?
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼上正解, 还有一个区别就是重定向可以定向到其它的服务器的Web应用,而转发是做不到的。一般都不会把页面放在Web-inf下,因为页面本身就是要展示给用户的
不所谓先生 2013-11-08
  • 打赏
  • 举报
回复
问题1: (我说的比较白一点)重定向和请求转发理论上的区别是在于: 重定向是重新发一个请求:response.sendRedirect(location) 请求转发是接着上一个请求继续走下去:request.getRequestDispatcher(path).forward(arg0, arg1) 最大的区别在于:我们有时候会把一些返回到表现层的的变量放到request中(也就是request.setAttribute(name, o)) 当你用重定向时你会发现你获取不到存在request中的信息,而请求转发可以!因为它是接着上一个请求走的,所以你在上一个请求放在request中的值是可以获取到的 一般请求转发用的比较多,因为我们一般会把东西放在request当中而不是session中!当然啦看个人习惯了。 问题2: 这个没有规定!但是处于一些安全,权限过滤,字符过滤等等考虑我们一般会先通过action或servlet(控制层)再到展现层,如果你遵行的是MVC嘛 问题3: 没错,但是一般存放的是一些框架或者是系统的配置文件!如果你要存放页面的话也没问题!
末日哥 2013-11-08
  • 打赏
  • 举报
回复
多写点代码,这些就自然而然明白了
meerkatsky 2013-11-08
  • 打赏
  • 举报
回复
继续问题1: 为什么请求转发不安全?还有重定向约等于重新向服务器发了一次请求,全部写成重定向会不会加重服务器负担,能不能列举一下哪些情况一定用请求重定向,哪些情况一定用转发? 继续问题3: 实际开发中也放到WEB-INF下吗?
最美的词 2013-11-08
  • 打赏
  • 举报
回复
问题1: 我的理解是,转发是客户端跳转,重定向是服务器端跳转。一般使用重定向,这样比较安全。 问题2: 一般在MVC开发模式中,都是jsp提交到servlet,然后servlet调用业务层的类,业务层把数据返回给servlet,然后再从servlet跳转到jsp,展示结果内容。如果a.jsp中并没有和业务层打交道,而是直接想跳到b.jsp,那么就没有必要通过servlet中转了,可以直接跳转 问题3: 对,jsp页面文件放在web-inf下比较安全

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧