错误处
dynamic web project的方式开发J2EE应用,不能在工程里新建一个lib文件夹,然后将jar包拷贝进这个lib,然后build Path。 这种方式是不行的,这种方式只能存在于普通java工程开发
正确做法
将jar包放入 到WEB-INF/lib里
复制好之后,右键点击项目,刷新即可。 这个动作,会导致当前项目的build path->Libraries里的 Web App Libraries 自动加上这个
开始步骤
1.在WEB-INF目录下新建web.xml
其中配置了一个 Filter, 所有的请求都被过滤给了这个 Filter
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
2.在src目录下创建一个struts.xml文件
记住,这个名字不能错,是固定的,如果写错 则会报如下的错
----------HTTP Status 404 - There is no Action mapped for namespace / and action name index.
这是最简单的struts.xml配置
其效果是当访问index路径的时候,服务端跳转到index.jsp
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="basicstruts" extends="struts-default">
<action name="index">
<result>index.jsp</result>
</action>
</package>
</struts>
3.在web目录下创建index.jsp,
4.重启tomcat,然后访问地址
思路图
- 所有的访问都回被web.xml中配置的Struts 的 Filter所拦截
- 拦截之后,就进入struts的工作流程
- 访问的地址是/index,根据struts按照 struts.xml中的配置,服务端跳转到index.jsp
- 显示index.jsp的内容