!!!提醒 对于IDE工具,业内有一个说法:IDE工具会加快高手的开发效率,但会使初学者更白痴。
为了使自己变的不那么白痴,决定从头开始,徒手创建一个struts2的应用 --!
一 创建Web应用
建立一个WEB应用的步骤:
1.在任意目录新建一个文件夹,并在该文件夹下新建一个名为"WEB-INF"的文件夹.
2.在WEB-INF文件夹下添加一个web.xml文件.
3.在WEB-INF文件夹下添加"classes"文件夹和"lib"文件夹.
4.将该Web应用复制到Tomcat的webapps路径下,该Web应用将可以自动部署在Tomcat中。
二 增加struts2功能
1.修改web.xml文件,在web.xml文件中配置Struts2的核心Filter.
2.在classes文件夹下添加"struts.xml"配置文件.
3.在lib文件夹下添加JAR文件:commons-fileupload.jar,commons-logging.jar,freemaker.jar,ognl.jar,struts2-core.jar,xwork.jar.
4.在WEB-INF文件下面添加index.jsp,error.jsp,welcome.jsp三个jsp页面.
index.jsp页面代码
web.xml文件基本配置
注意:如果没添加common-fileupload.jar包会报以下错误
三 实现控制器
1.实现控制器类LoginAction
Struts 2下的控制器不再像Struts 1下的控制器,需要继承一个Action父类,甚至可以无需实现任何接口,Struts 2的控制器就是一个普通的POJO。实际上,Struts 2的Action就是一个包含execute方法的普通Java类,该类里包含的多个属性用于封装用户的请求参数。下面是处理用户请求的Action类的代码:
表面上看起来,该Action的两个属性只提供了对应的setter和getter方法,很难理解请求参数在什么时候赋值给该Action的属性,事实上,因为Struts 2的拦截器机制,它们负责解析用户的请求参数,并将请求参数赋值给Action对应的属性。
2.配置action
上面定义了Struts 2的Action,但该Action还未配置在Web应用中,还不能处理用户请求。为了让该Action能处理用户请求,还需要将该Action配置在struts.xml文件中。
struts.xml配置文件的基本配置
上面映射文件定义了name为login的Action,即:该Action将负责处理向login.action URL请求的客户端请求。该Action将调用自身的execute方法处理用户请求,如果execute方法返回success字符串,请求将被转发到/welcome.jsp页面;如果execute方法返回error字符串,则请求被转发到/error.jsp页面。
注:请将LoginAction.java文件编译成class文件并按路径置于classes文件夹下(classes/com/tomp/action/LoginAction.class)
经过上面步骤,这个最简单的Struts 2应用已经可以运行了.