日期:2014-05-17  浏览次数:20670 次

servlet 的 doGet() 中 return,网页去哪里?
大家好,如果在doGet()方法中,没有使用forward()或redirect(),而是直接return, 则网页会去哪里? 应该是空白页面?
目前我手里有个链接:
http://xxx.xxx.xxx/servletName/e81ea261177639108c14e7de8907fe8b/1/;jsessionid=82BEB860B6B5058DB2B51608467913E4?guid=ON
我可以找到servletName这个servlet,但是在其doGet()中,最终并没有指明转向哪张页面,而是写了return;的。 但网页却可以出来。
求教,谢谢!

------解决方案--------------------
那个方法好像是要那请求派发器 然后实现转发页面 、 
你 return 什么 他不执行下步操作 、
网页可能是停留在你当前页面了
------解决方案--------------------
估计还得检查下是不是有过滤器之类的东西做了手脚
------解决方案--------------------
一次http请求会产生一个request对象和一个response对象,response对象是返回值。

response返回的时候会有一个code,最常见的是200,客户端解析到200就表示本次请求成功返回。301或者302表示重定向,客户端接收到301、302之后会从返回的header中获取到新的url,再去请求。这就是redirect。

对于200的请求,一般都是在response中输出一些内容,比如文本、图片、文件下载等。这里是根据content-type来决定的。默认情况下应该text/html。
如果你在get方法直接return,服务器就会返回空给客户端。对于空的解释,每种浏览器不一样,你可以右键查看一下源码。

你可以在return的前面加上一行:
response.getWriter().print("111");

然后再浏览器中看看源码,相信应该就明白什么意思了。
------解决方案--------------------
去了一个空白页,啥都没有!