Welcome

首页 / 软件开发 / JAVA / Struts2.x学习:第一个Struts2.0例子

Struts2.x学习:第一个Struts2.0例子2010-01-06 BlogJava 葛坤进具体相关页面及相应配置如下:

在struts1.x系列中,所有的请求是通过一个servlet(ActionServlet)来管理控制的,在Struts2.0而是经过一个Filter来处理请求的

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>*.action</url-pattern>
</filter-mapping>

login.html:

<form action="login.action" method="post"> //在 web.xml中配置了请求的形式是*.action
username:<input type="text" name="username" /><br/>
password:<input type="password" name="password" /><br/>
<input type="submit" name="submit" value="submit" />
</form>

在struts1.x中有一个struts-config.xml来管理一些具体的配置信息(比如说数据源,全局转发,异 常,ActionForm,Action的实例,插件等)

在struts2.x中类似的有一个配置该类信息的文件struts.xml.

struts.xml:

<struts>
<package name="struts2" extends="struts- default">
<action name="login" class="com.struts2.x.action.LoginAction">
<result name="success">main.jsp</result><!-- 默认name="success" ,可 以省略不写呢!-->
</action>
</package>
</struts>

在struts1.x中要求action要继承import org.apache.struts.action.Action,并改写execute (ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)方法,在struts2.x中解藕了,不需要硬性的与其他类绑定

以下是登陆的action:

public class LoginAction {
private String username;
private String password;


//省略getter和setter方法

public String execute() throws Exception
{
return "success";
}
}


main.jsp
Hello!${requestScope.username}

在main.jsp中获得输入的用户名.

Ps:

注意:在手动添加struts2.x jar包的时候,并不能一股脑的全部加进来,用到什么功能就把什么样jar 包加进来,但是有几个核心(core)的jar包必须要加进来

经过测试 如果仅仅加入这个几个jar包会抱一个异常,到网上查资料,还要把

这个jar包加进去才可以!

(我打包导出为*.war格式,压缩成.rar格式,下载后直接把struts2.x.war文件放在tomcat应用服务器 的webapps文件夹中)