访问一开始就是一个过滤器,为什么Struts2可以直接将内容输出到网页,直接输出时也没有转发,也没有相新建转发的servlet或jsp
,看了书上说action与servlet是没有关系的,是相互独立的,只是普通的java类,过滤器最终将转到哪个页面上呢,而且并没有新建servlet或jsp,那为什么response.getWriter().write(data)就有页面和信息了呢。
比如action中的
public String execute(){
String data = "直接输出";
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(data);
return success
}
response.getWriter().write(data);这句是将数据打印在哪里,我并没有新建servlet或相应的jsp,开始的就是一个过滤器,最终的页面是哪里产生的呢。请问大虾们为什么?
,看了书上说action与servlet是没有关系的,是相互独立的,只是普通的java类,过滤器最终将转到哪个页面上呢,而且并没有新建servlet或jsp,那为什么response.getWriter().write(data)就有页面和信息了呢。
比如action中的
public String execute(){
String data = "直接输出";
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write(data);
return success
}
response.getWriter().write(data);这句是将数据打印在哪里,我并没有新建servlet或相应的jsp,开始的就是一个过滤器,最终的页面是哪里产生的呢。请问大虾们为什么?
解决方案 »
- weblogic.xml的DTD声明问题
- 这是神马开发模式??????????????????
- 网站与b/s 应用系统有何区别?
- private static final String CR_LF="/n";什么意思
- jfreechart线图 如何点击线产生具体的数据信息?
- 郁闷的一踏糊涂.第一次用hql时就出错!不知道错哪了,兄弟们帮我们进来看看啊
- Struts 中<html:link>用法请教..
- eclipse and tomcat
- Sun的java开发工具Forte For Java 4.0 CE的使用方法哪有??
- 如何部署j2ee的数据库设置?
- 算法!求助
- 下了servlet的源码。。却不知从何看起。。
从http流中输出就是输出到接收端,在浏览器中,网页就是端。
所以out.write就是输出到网页
response.getWriter().write(data)是直接输出在请求的servlet/jsp中,前提是访问的servlet/jsp存在。response就是此次请求(request一个servlet/jsp)中的请求响应对像,它的输出会打印在此次请求的页面中,而且请求必须是存在,不然肯定是404了。这一点可以认同吗?,如何说的不对,请给一个示例。如果认同,下面再说一下我的问题:我们请求一个Struts2的action,开始一个过滤器进行过滤请求,请求xxx.do交给Struts2处理,注意xxx.do只是一个url的形式,只是说明这个请求要struts2来处理,Struts2接收reponse,request的请求参数,action的调用过程就不说了。action的调用结束后,会执行Result的实现类。根据结果类型层现相应的画面。如: request转发等,转发是好理解的。现在小弟不明白的是:直接输出信息在页面上像一个servlet一样,Struts2是怎么做的,是一个什么样的思路。有意技术交流者加我:271139169