<filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>改为<filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>CharacterEncoding</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>改为<filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>CharacterEncoding</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 改为
<filter-mapping>
<filter-name>CheckStatus</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CheckStatus</filter-name>
<filter-class>com.youthzone.filter.CheckStatusFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CheckStatus</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 先配置filter:
<filter-name>你这个filter的名字
<filter-class>filter对应的类
然后配置filter的映射
<filter-name>需要映射的filter
<url-pattern>触发请求
<filter-name>CheckStatus</filter-name>
<servlet-name>/*</servlet-name>
</filter-mapping>
改成
<filter-mapping>
<filter-name>CheckStatus</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>“<servlet-name>/*</servlet-name>”这个写错了
这句也换成url-pattern
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
.....
</servlet>
servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
...........
首先解释
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
.....
</servlet>
那个action是org.apache.struts.action.ActionServlet的别名(听着好听,顺耳,方便)
实际执行的时候,凡是action类型的东东都到org.apache.struts.action.ActionServlet去执行
什么是action类型的呢?下面定义就是了:
servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
也就是说,凡是在路径下出现 ***.do的都是action类型的.比如说
http://localhost/app/login.do
这个login.do就是action类型的. 那么你编写的login.java就是一个ActionServlet(action类型)
当然,真正执行的时候是执行.class文件,比如说login~.class(可能不是login.class,例如loginAction.class)