03-第一个Struts2项目的解析

首先大家知道Struts2后我们的项目比原来的普通java web项目多了的东西就是

第一 在src中多了一个struts.xml的配置文件。在src下面的文件会被复制到webroot里面。 我们在navigator视图中的web-inf下面可以看到这个文件。

第二 我们的项目引入struts的jar文件

第三 我们需要配置webroot下面的web.xml文件

当我们访问http://p50:8080/Struct2Demo/abc

这个路径的时候。这个URL请求会通过http协议 发送给我们的tomcat

Tomcat根据地址会知道是Struct2Demo这个web application

然后tomcat会读取这个个web application的web.xml 然后它就会发现这个web.xml里面有一个filter配置。

这个filter会过滤所有的url地址。

因为我们配置的是/*

<url-pattern>/*</url-pattern>Code language: HTML, XML (xml)

这个意思是把所有的xxx/***的地址都交给struts来处理。

这个时候这个地址就会交给

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

这个类来处理。这个类会读取struts.xml中的配置

然后再这个struts.xml 中发现一个package的配置

这个配置的namespace是”/”

<package name="default" namespace="/"  extends="struts-default">Code language: HTML, XML (xml)

这个斜线就是对应我们的URL地址中的

根地址 http://p50:8080/Struct2Demo/abc

然后这个地址后面的这部分是abc 那么它就会去找

Package包中的action

然后发现<action name=”abc”> 然后再取找这个action中的result

然后会把这个请求取处理对应的jsp文件。

然后我们的这个jsp会把内容返回给客户端浏览器。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注