我的第一个Struts2例子

今天开始学习一下struts2,之前没有用过webwork,所以有较困难的思想准备,不过根据浪曦的教程,做了第一个的struts2的程序,很顺利哈。

在官方网站下载了struts-2.0.11.2-all.zip。
然后在myeclips5.5中建立项目,导入包。整个目录如下:

我的第一个Struts2例子

导入几个基本的包:
commons-logging-1.0.4.jar.
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.2.jar
xwork-2.0.2.jar
这些包在struts-2.0.11.2-all.zip中都有。注意的关键点是需要将这些包拷贝到WEB-INF的lib目录中。

配置web.xml
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
</web-app>



写LoginAction.java
package cn.redalx.struts2.study;

public class LoginAction {
  private String username;
  private String password;
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
public String getUsername() {
	return username;
}
public void setUsername(String username) {
	this.username = username;
}
public String execute() throws Exception 
{
	return "success";
}
}	


配置struts.xml,注意一个问题,和struts1x不同,这个文件需要放到classes目录,即在myeclips中,应该放到src目录中。

<?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="struts2" extends="struts-default">
<action name="login" class="cn.redalx.struts2.study.LoginAction">
<result>/result.jsp</result>
</action>
</package>
</struts>	


login.jsp页面
  <form action="login.action" method="post">
   username:<input type="text" name="username"> <br>
   password:<input type="password" name="password"><br>
			<input type="submit" value="提交">
			</form><br>
 <!-- 需要注意,action的目标是login.action,这个是webwork的风格哈-->	


result.jsp
 
username: ${requestScope.username } <br>
  password: ${requestScope.password }<br>
<!--这里为了方便,用了EL-->	

补充:本例升级到2.1.6之后出错,需要增加两个包:commons-fileupload-*.jar、
    commons-io-*.jar两个包

你可能感兴趣的:(apache,xml,jsp,struts,Webwork)