【Struts】Struts和Servlet比较

来源:互联网 发布:db2查看数据库列表 编辑:程序博客网 时间:2024/05/16 18:38

我的个乖乖,原来Struts和Servlet竟然是如此的相似。

1、配置文件:struts的配置文件写在struts.xml。而Servlet的配置文件下载Web.xml。


<servlet-name>ShowAddItemServlet</servlet-name>      <servlet-class>com.bjpowernode.drp.basedata.web.ShowAddItemServlet</servlet-class></servlet>servlet-mapping>      <servlet-name>ShowAddItemServlet</servlet-name>      <url-pattern>/servlet/item/ShowAddItemServlet</url-pattern></servlet-mapping>

Servlet-name指定了Servlet的名称,Servlet-class指定了Servlet的路径

<!-- 配置首页访问的Action -->  <action name="index" class="indexAction">       <result name="index" type="dispatcher">/WEB-INF/jsp/index.jsp</result>  </action> 

name 指定了Action的名称,class指定了Action的路径。你可能会问,不对啊,class="indexAction",哪里指定了Action的路径呢?别忘了还有一个applicationContext.xml文件呢,与之相关的信息为

<!-- 首页访问的Action --><bean id="indexAction" class="cn.itcast.shop.index.action.IndexAction" scope="prototype">      <property name="categoryService" ref="categoryService"/>      <property name="productService" ref="productService"/></bean>

applicationContext.xml中的id=“indexAction”对应Struts.xml中的class=" indexAction" 

瞧见没,Struts是把Action的路径写在了文件中。

2、Action类和Servlet类。

在Struts2.0中,可以通过ServletActionContext.getRequest()获取request对象。

①、类的命名

②类的继承

③类中跳转页面的方法

       在Action中的方法 return 一个字符串,该字符串与struts.xml中的result标签名称的name相同,result标签中包含的就是跳转页面 

       在配置文件中,转发和重定向,RedictAction。

       在Servlet中通过转发或重定向跳转到某个servlet或者某个页面。


③URL的写法

首页

其他页



Action类的命名都是以Action为后缀名的。如CartAction。Servlet类的命名都是以Servlet为后缀名的,如AddItemServlet。所有的Action都继承于ActionSupport类,所有的Servlet都继承于HttpServlet。

public class CartAction extends ActionSupport {}

public class AddItemServlet extends HttpServlet {}


可以说struts的本质还是一个servlet,只不过是对Servlet的进一步封装罢啦。


servlet是Java的一种程序类型,一个servlet是一个java类。





1 0
原创粉丝点击