servlet问题,看看

来源:百度知道 编辑:UC知道 时间:2024/05/26 18:53:07
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher rd = request.getRequestDispatcher("/two");
rd.forward(request, response);这句话意思是不是把请求再提交给/two,为什么要这么写,这格式有什么含意

错,是交给two,这个two是一个servlet的映射地址,在web.xml中的url-partten中设置(这里也是要写成"/two",这个“/”只是说是在项目的根目录)。但是你必须写成“/two”,这样说明是一个servlet,如果你写成two.jsp就说明跳转到了two.jsp这个文件。

用处在于:
首先如果你能很了解mvc的思想的话可能你自己想想就明白了。

其次jsp主要是用在页面的显示,而servlet主要是用在对客户端请求的判断(最常见的就是表单提交),因此只要是判断就通过servlet来实现,这样起到了很好的分工,美工可以做美工的事情,后台做后台的事情。

一个语言设计出来不是为了程序开发由一个人完成的,这样的话很多人就没有饭吃了,而如果你是一个人开发,你大可不必在意,直接将servlet忽略,全部写在jsp中,只要你自己清楚,开发起来效果是一样的,至于效率方面主要还是取决于服务器的带宽以及数据库的配置,最后才考虑程序的设计(如果是大中型的程序另当别论)。

最后就是这样写可以增加程序的可复用性以及更加容易修改,这可是软件开发的最基本的东西了。

PS:MS有点答非所问了

/two 这么写是因为 在web.xml文件中肯定有 /two ServletMapping的定义(如果程序能跑起来,运行没问题的话),你可以到web.xml里看看它对应的servlet文件,就了解了。

标准的servlet调用。

RequestDispatcher rd = request.getRequestDispatcher("/two");
rd.forward(request,response);

答:该请求转发到/two这个url中去,"/"代表相对与web应用路径,可以是.jsp文件,也可以定向到某一个servlet,如果是servlet的话就需要在web.xml中进行servlet映射.RequestDispatcher是一个请求处理器,forward()方法表示请求转发,另外一种请求处理方式是重定向.