Struts2入门与配置
来源:互联网 发布:人工智能 社会影响 编辑:程序博客网 时间:2024/05/24 06:33
出自:http://blog.csdn.net/pengpeng2395/archive/2008/08/06/2777988.aspx
<script type="text/javascript"><!--google_ad_client = "pub-5873492303276472";/* 728x90, 创建于 08-7-29 */google_ad_slot = "7502041044";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
Struts2从本质上看来源于Webwork,它同时具有Struts和Webwork的优点。WebWork是一个强大的基于Web的MVC框架, 它构建在一个命令模式框架XWork之上。下面就让我们来了解一下 Struts2吧。
1.Struts2配置文件
Struts2相关的配置文件有web.xml,struts.xml,struts.properties,struts-default.xml,velocity.properties,struts-default.vm。其中web.xml,struts.xml是必须的,其它的配置文件可选择。它们在web应用中的功能如下:
web.xml:包含所有必须的框架组件的web部署描述符。
Struts.xml:配置包含result/view类型、action映射、拦截器等的Struts2的主要配置文件。
Struts.properties:配置struts2的框架属性。
Struts-default.xml:在文件在struts-action-x.x.jar中,该文件是应该被包含在struts.xml中的缺省配置。
Welocity.properties:重写了velocity的配置文件。
Struts-default.vm:相对于velocity的缺省配置。
2.下面我们用一个登录实例来了解一个基本Struts2应用
A.建立基本JSP页面
<body>
<form action="login.action" method="post" >
用户名:<input type="text" name="username"><br>
密 码:<input type="password" name="password"><br>
<input type="submit" value="提交">
</form>
</body>
B.建立Action类
public class LoginAction {
//这个类会在struts2框架中自动调用setter getter方法
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute()throws Exception {
return "success";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
注意:其中setter getter方法会被Struts2容器直接调用,他们的定义应该和客户端请求表单中input的name相对应。
C.配置文件
(1)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">
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<!-- filter过滤客户端发来的请求 (struts的控制器)-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<!-- 表示客户端所有请求都要经过这个filter处理-->
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
以上是最基本的配置形式,具体含义就不多介绍了
(2)struts.xml
这是struts2的核心配置类,他的XML头可以写成以下形式,是基本固定的:
<?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标签内,具体配置如下:
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.test.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
这里action name="login"要与login.jsp中的表单的 action="login.action"对应 ,class配置其对应的Action处理类,result定义了在Action的execute()方法中各种情况下跳转的页面。
D.登录结果页result.jsp
我们可以引入标签库,方便取得Action类属性
<%@ taglib prefix="s" uri="/struts-tags" %>
用户名:<s:textfield value="%{username}"/><br>
密码: <s:property value="password"/>
当然也可以采用传统JSP方式:
username:${requestScope.username} <br>
password:${requestScope.password}
总结一下Struts2的基本调用流程:
No1.客户端请求定义对应的Action
No2.Struts2容器会自动通过调用对应Action的get,set方法,把请求的数据传入Action中
No3.执行Action中的exxcute()方法,来实现页面的跳转活着其他处理。
<script type="text/javascript"><!--google_ad_client = "pub-5873492303276472";/* 728x90, 创建于 08-7-29 */google_ad_slot = "7502041044";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- Struts2入门与配置
- struts2入门与配置
- struts2 入门与配置
- Struts2入门与配置补充
- struts2.0入门与配置
- Struts2简单配置与入门实例
- 总结一:Struts2入门与配置
- 1 Struts2入门与配置学习笔记
- [转载] 第一章 struts2入门与配置
- struts2 入门和配置
- struts2入门配置
- Struts2的入门配置
- Struts2入门配置
- Struts2配置入门
- Struts2入门配置
- struts2入门基本配置
- struts2 入门配置
- Struts2入门配置
- 操作系统设计与实现(读书笔记2)
- 好倚天的来临
- oracle9i学习笔记之十 创建视图
- oracle9i学习笔记之十一(1) 序列
- 掌握 Ajax,第 8 部分: 在请求和响应中使用 XML
- Struts2入门与配置
- oracle9i学习笔记之十一(2) 索引
- oracle9i学习笔记之十一(3) 同义词
- 掌握 Ajax,第 10 部分: 使用 JSON 进行数据传输
- DELPHI 静态数组的定义方法
- linux下 C语言对 php 扩展
- Linux常用命令的学习
- MySQL主从复制配置
- 中国不可能有金融危机而只有经济危机