已经有一年没有做过J2EE开发了,今天是过了一年之后再次学习struts2开发,下面是入门的例子
1、第一步导入truts2必须的jar包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
2、添加struts2的dtd文件
在项目的src中建一个包resources,把Struts2软件jar包(struts2-core-2.0.11.jar)中的struts-2.0.dtd复制到包resources中。
3、在web.xml文件中添加配置信息
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4、在JSP页面中写一个表单
<form action="addUser.action" method="post">
属性acction的值.action是不能少的,否则就不能自动去匹配struts.xml文件中的路径了
5、在项目的src下创建一个文件struts.xml文件
<?xml version="1.0" encoding="GBK"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0 //EN" "resources/struts-2.1.7.dtd"> <struts> <constant name="struts.i18n.encoding" value="gb2312"></constant> <constant name="struts.multipart.maxSize" value="10000000" /> <package name="struts2" namespace="/" extends="struts-default"> <action name="addUser" class="action.com.AddUser"> <result name="success">success.jsp</result> <result name="input">index.jsp</result> <result name="fail">failed.jsp</result> </action> </package> </struts>
备注:<action name="addUser" class="action.com.AddUser">中
name属性和JSP页面中form表单中的action属性对应
class属性指名了对应的类的路径,如果不正确,工程不能正常启动。
6、在处理用户请求的类——AddUser继承ActionSupport类并执行execute()方法,返回值的类型为字符串,一般是“error、success、failed、input”,根据不同的结果跳转到不同的页面,如果该类里面有validate()方法,则先执行“校验”方法,然后再执行execute()