1、重定向和转发的不同:
(1)重定向时,客户端浏览器的地址栏有变化,而转发没有变化
(2)重定向不可以,转发可以携带数据【转发中携带request】
(3)重定向发生在客户端,转发发生在服务端,客户端不知道
(4)重定向时客户端发送了两个请求,而转发只是发送一个请求(本质不同)
重定向(买完菜了,你还要买肉,你跟老板说,哪里有肉买,老板告诉了你,然后你去了)
转发(买完菜了,老板不理了,瞪了你一眼,你就乖乖的走开了)
2、开发过程中一般不用转发,是因为?
重定向:
处理成功后 redirect(提交表单) 到另一个 jsp(servlet),防止表单重复提交,浏览器里 URL 变了
转发:
当用户登录错误时,一般会回到登录页并提示信息,这个时候用转发问题不大且方便效率高
但是现在一般会用ajax异步提交,可以从后台带提示信息过去,所以现在在jsp中用转发意义不大。
3、servlet----控制层 service-----服务层 dao-----数据处理层 servlet-mapping—映射
在servlet中不建议直接调用数据处理层,因此要新写一个服务类方法,在服务类方法中调用数据访问层
service服务层介于servlet和dao中间,将数据库中取出来的数据,进行处理
UserService----用于对关于用户信息处理的服务类,如果要对用户信息进行加密或者解密,就在这一层处理,一定要注意分层的思想,每一层做每一层的事情。