基本相同,具体操作还是有点不同:
struct2的话,一般是新建一个Action来接受用户的请求。在这个Action中调用模型中的方法(查数据库),得到结果后再跳转到JSP页面显示出来。而Servlet的话,是新建一个Servlet接受用户的请求。调用模型中的方法(查数据库),得到结果后再跳转到JSP页面显示出来.Struct2的话,在JBuilder2005中,有工具可以看到详细的流程。比较清晰。其实仔细想想,基本原理还真的基本一样。只是继承的类不同,过程基本一样。因为如果都用MVC的模型来搞的话。
strust2 是基于mvc模式对servlet的一种封装
servlet是java基于j2ee的是一种实现技术
strust2 由于本身是基于mvc的一种框架,分为几个类块来实现模块功能,
粗略可以理解为 servlet是struts2的父类
struts是servlet功能上的扩展
是这样的。。
1新建Servlet和JSP页面,连接数据库并显示该表全部记录在页面中;
你可能是这样写代码:
class ShowServlet extends Servlet{
void doPost(){
Connection conn = ......
.......
request.setAttribute("xxx", list);
}
}
2.采用struts 可能是这样写代码
class UserAction{
showUser(){
.....
}
}
其实这两种方式谈不上有什么区别。 只不过是将实现和Servlet层进行分离。
其实采用 struts 原理就是与第一种方式一样,只不过它不是直接在 doPost 中写业务逻辑的代码, 将业务逻辑进行分离,相当于在 doGet 或者 doPost 中 通过
new UserAction().showUser() 来实现业务功能。
从表面意义上讲:servlet多了区别就出来了
一般来说:一个功能需要一个servlet,而struts2 则一个action可以解决