struts入门学习

错误处

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,然后访问地址

思路图

  1. 所有的访问都回被web.xml中配置的Struts 的 Filter所拦截
  2. 拦截之后,就进入struts的工作流程
  3. 访问的地址是/index,根据struts按照 struts.xml中的配置,服务端跳转到index.jsp
  4. 显示index.jsp的内容

posted @ 2018-04-18 10:58  Pororo  阅读(92)  评论(0编辑  收藏  举报