struts2 demo

如何搭建一个struts2的环境 

     于 struts2和struts1系列来说,配置处理方法上有了很大的不同,会搭建struts1系列的环境人,就未必会搭建struts2的环境,阿堂刚 用时,也出现了一些问题,为了让想使用struts2的新手朋友,能尽快上手,这里,阿堂就搭建一个struts2环境及布署一个简单的应用来说明

(注意,要用tomcat5.5环境或更高环境,如果是tomcat5.0环境,会报404错务,一定要注意啦)
一.增加struts2支持
1.
新建一个web项目,如Struts2Demo

2.必须将struts2框架的核心类库增加到web应用中。就是将struts2-core-2.0.6.jar,xwork-2.01.jar,ognl-2.6.11.jar,freemarker-

2.3.8.jar,commons-logging-1.1.jar等struts2框架的核心类库复制到web应用的lib路径下,也就是%workspace%项目名\WebRoot\WEB-INF\lib

路径下

3.修改Struts2Demo项目下的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">
 
 <!-- 定义Struts2的FilterDispathcer的Filter -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

 <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>   
</web-app>

经过上面三步,该web项目已经具备struts2的配置环境了

 

二.部署struts2的应用
1.在部署之前,先在WebRoot目录下新建一些jsp文件.如login.jsp文件(welcome.jsp,error.jsp)
(s是用的struts2的标签库)
login.jsp文件内容如下
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title><s:text name="loginPage"/></title>
</head>
<body>
<s:form action="Login">
            <s:textfield name="username" key="user"/>
            <s:password name="password" key="pass"/>
            <s:submit key="login"/>
</s:form>
</body>
</html>

welcome.jsp文件内容如下
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
    <head>
        <title><s:text name="succPage"/></title>
    </head>
    <body>
        <s:text name="succTip">
   <s:param>${sessionScope.user}</s:param>
  </s:text><br>
    </body>
</html>


error.jsp文件内容如下
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>

<html>
    <head>
        <title><s:text name="errorPage"/></title>
    </head>
    <body>
        <s:text name="failTip"/>
    </body>
</html>

2.此处由于用到了国际化资源文件中的key,所以,要增加该应用所需的国际化资源文件,如struts.properties,在该文件中增加如下一行代码
struts.custom.i18n.resources=messageResource
(messageResource_zh_CN.properties资源文件和struts.properties,struts.xml都放在classes目录下面,实际上是放在与src同一目录下,发

布后会自动编译放在classes目录下了)

messageResource_zh_CN.properties文件内容如下
loginPage=登陆页面
errorPage=错误页面
succPage=成功页面
failTip=对不起,您不能登录!
succTip=欢迎,${0},您已经登录!
viewLink=查看作者已出版的图书
bookPageTitle=作者已出版的图书
bookName=书名:
user=用户名
pass=密  码
login=登陆
user.required=用户名必须输入!
pass.required=密码必须输入!

 

3.增加应用的Action
如 LoginAction类
package project;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;

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

    public String getUsername()
    {
        return username;
    }
    public void setUsername(String username)
    {
        this.username = username;
    }

    public String getPassword()
    {
        return password;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }

    public String execute() throws Exception
    {
        if (getUsername().equals("scott")
                && getPassword().equals("tiger") )
        {
            ActionContext.getContext().getSession().put("user" , getUsername());
            return SUCCESS;
        }
        else
        {
            return ERROR;
        }
    }

}

 

4.增加一个对应的配置文件struts.xml

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="project" extends="struts-default">
        <action name="login" class="project.LoginAction">
            <result name="input">/login.jsp</result>
            <result name="error">/error.jsp</result>
            <result name="success">/welcome.jsp</result>       
        </action>
    </package>
</struts>

至此,整个StrutsDemo对应的Struts2应用完全建立了.



 

 

 

 

以下是一个简单的 Struts2 示例,将输入的名称传递给 Action 类并在 JSP 页面上显示欢迎消息。 首先,我们需要创建一个名为 "WelcomeAction" 的 Action 类,在其中定义一个名为 "name" 的属性和一个名为 "execute" 的方法。 ```java package com.example.struts2demo; public class WelcomeAction { private String name; public String execute() { return "success"; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ``` 接下来,我们需要创建一个名为 "welcome.jsp" 的 JSP 页面,该页面将显示欢迎消息,并使用 Struts2 标记库获取 Action 类中设置的名称。 ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome <s:property value="name" /></h1> </body> </html> ``` 接下来,我们需要创建一个名为 "struts.xml" 的配置文件,该文件将指定如何将请求映射到 Action 类以及如何处理结果。 ```xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <package name="default" extends="struts-default"> <action name="welcome" class="com.example.struts2demo.WelcomeAction"> <result name="success">/welcome.jsp</result> </action> </package> </struts> ``` 最后,我们需要创建一个名为 "index.jsp" 的 JSP 页面,该页面将显示一个表单,允许用户输入他们的名称,并将其作为参数传递给 Action 类。 ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html> <html> <head> <title>Welcome</title> </head> <body> <h1>Welcome</h1> <s:form action="welcome"> <s:textfield name="name" label="Enter your name" /> <s:submit value="Submit" /> </s:form> </body> </html> ``` 现在,我们已经完成了 Struts2 示例的所有必要组件。要运行示例,请将这些文件保存在您的 Web 应用程序中,并使用您喜欢的 Web 服务器启动应用程序。然后,导航到 "index.jsp" 页面,输入您的名称并单击提交按钮,应该会显示一个欢迎消息,其中包含您输入的名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值