首先大家知道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会把内容返回给客户端浏览器。