何时使用.do和.jsp

在MVC的项目中一般不会直接去访问JSP,都是通过.do来转发。
这样做的好处是:
1 所有请求全部通过action来转发,这样便于整体框架的处理。比如,可以加入登陆到某个页面的权限控制,只需要在配置文件中配置,而不用再每个JSP文件中加入相关的逻辑。
2 与数据库,文件等底层存储层连接,读取数据的代码可以在类(action)中执行。这样做,一方面可以将很多方法复用,另一方面使JSP页面的代码变得简单而容易维护。
3 其实.do也就是MVC当中的C,是控制器。在整个系统中起到中央枢纽的作用。先通过它的话就可以把逻辑代码隐藏在后台,使JSP文件作为单纯的VIEW分离出来,降低了系统的耦合性。

搂主的话:
"比如说regist.do对应的就是regist.jsp这个页面,通过网页可能所有的跳转都是跳到regist.do去注册,但实际上直接输入regist.jsp应该也是可以打开一样的页面去注册"
回答:没错,的确是可以的。不过这样做的话扩展性就没有先经过.do那样好。比如以后系统里加入了新的要求,只有权限大于5的人才能进入这个页面。直接访问.jsp的方法的话,要在jsp里加入判断的代码,如果权限小于5的话跳转到其他画面;不过如果只是这一张页面还好,但是如果系统有200张jsp,而且每张jsp要求的权限都不一样的话,这样修改起来就很困难了。用.do转发的方法的话,可以在配置文件中配置访问每个action所需要的权限,然后在系统的中央处理器(servlet)里面加入一个判断,去校验每个用户的session,从里面取得当前用户的权限并且与action的需要权限相对比,如果不匹配就直接跳到其他页面。这样不管整个系统有多少张页面,只要有这个配置,当用户需求发生变化时只要改改配置文件就可以完成任务了。

“什么时候该用.do什么时候用.jsp呢?还是,一般只有首页,比如登陆就用.jsp,而除了这张页面以外,其他的业务处理都最好用.do来实现???”
回答:原则上说是所有的页面都要有.do,即使这张页面很简单,没有后台处理得也需要。因为如果以后用户的需求一旦变更就可以容易得来对应。对于登陆页面来说也是这样,不过要多做一步处理。比如,真正的登陆面是login.jsp,那么做法是这样:给用户的地址其实是另一张面index.jsp,然后在index.jsp里面通过脚本来控制面自动跳转到其他的url,这个url就是.do,例如login.do,然后在login.do里面返回login.jsp地地址,这样登陆面也在这个框架的控制以内了。
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,我们可以通过使用Servlet来实现将.do文件引导到JSP页面。以下是一个简单的示例: 1. 首先,在Java项目的WEB-INF目录下创建一个名为"web.xml"的配置文件。 2. 打开web.xml文件,并添加以下代码: ``` <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/myServlet.do</url-pattern> <!-- 这里设置了.do文件的访问路径 --> </servlet-mapping> ``` 3. 创建一个名为"myServlet.java"的Java文件,并添加以下代码: ``` package com.example; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 在这里可以处理.do文件的逻辑 // 将数据设置为请求属性 request.setAttribute("message", "Hello World!"); // 获取到RequestDispatcher对象,并传入要转发的JSP页面的路径 RequestDispatcher dispatcher = request.getRequestDispatcher("/myJsp.jsp"); // 转发请求到JSP页面 dispatcher.forward(request, response); } } ``` 4. 在Web内容目录中创建一个名为"myJsp.jsp"的JSP文件,并添加以下代码: ``` <!DOCTYPE html> <html> <head> <title>示例JSP页面</title> </head> <body> <h1><%= request.getAttribute("message") %></h1> </body> </html> ``` 现在,当您访问"/myServlet.do"路径时,将会调用MyServlet中的doGet方法,并将请求转发到myJsp.jsp页面。在myJsp.jsp页面中,您将看到一个显示"Hello World!"的标题。这就是通过Java将.do文件引导到JSP页面的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值