非IDE方式手动配置struts2环境之hello_world

需要安装配置好JDK和Tomcat。下载struts2压缩包。

Tomcat目录通常为apache-tomcat-版本号。

1.在apche-tomcat-xxx/webapps/目录下创建文件夹,取名first。
2.在apche-tomcat-xxx/webapps/first/下创建文件夹,WEB-INF。
3.在WEB-INF下,创建两个文件夹classes、lib。
4.解压struts2压缩包,目录通常为struts-xxx。
5.在struts-xxx/apps/目录下解压struts2-blank.war文件。
6.在解压后得到的WEB-INF目录下拷贝web.xml到自己项目的WEB-INF下。
7.拷贝WEB-INF/lib/下所有jar包到自己项目WEB-INF/lib/下。
8.拷贝WEB-INF/classes/下struts.xml到自己项目WEB-INF/classes下。
9.更改自己项目的web.xml。删除<web-app>标签之间的内容,保留以下内容。

<filter>
    <filter-name>hello</filter-name>
    <filter-class>
        org.apache.struts2.dispatcher.ng.filter.
        StrutsPrepareAndExecuteFilter
    </filter-class>
</filter>

<filter-mapping>
    <filter-name>hello</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

10.修改struts.xml。删除<struts>标签间内容,保留以下内容。

<package name="world" namespace="/myweb" extends="struts-default">
    <action name="test" class="action.FirstAction">
        <result name="positive">/positive.jsp</result>
        <result name="negtive">/negtive.jsp</result>
    </action>
</package>

11.编写FirstAction.java。对应于struts.xml中的action.FirstAction。

package action;

import com.opensymphony.xwork2.ActionSupport;

public class FirstAction extends ActionSupport {
    private String name;

    public int getName() { return name; }
    public void setName(String _name) { name = _name; }

    @Override
    public String execute() throws Exception {
        if(name == "world")
            return "positive";
        else
            return "negtive";
    }
}

11.编译FirstAction.java。依赖自己项目first/lib/下的jar包。
12.将FirstAction.class复制到first/classes/action/目录下。
13.完成index.jsp。

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
    <head>
        <title>输入测试</title>
    </head>
    <body>
        <s:form action="myweb/test">
            <s:textfield name="name" label="输入"></s:textfield>
            <s:submit value="测试"></s:submit>
        </s:form>
    </body>
</html>

14.完成positive.jsp和negtive.jsp。同样的代码。

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib prefix="s" uri="/struts-tags"%>

<html>
    <head>
        <title>测试输出</title>
    </head>
    <body>
        hello, <s:property value="name" />
    </body>
</html>

15.运行apache-tomcat-xxx/bin/下startup.bat开启tomcat。
16.在浏览器地址栏输入http://127.0.0.1:port/first/index.jsp,输入数据提交测试。

【提醒】

1.在第7步拷贝jar包时要将struts2-blank.war解压后所有jar包全部拷贝。
缺少某些jar包,将会导致tomcat无法正确加载使用struts2的web项目。

2.在修改struts.xml和web.xml时,建议从struts2-blank.war解压后拷贝。并且仅删除对应标签内内容,标签外内容不要随意改动。

3.如果没有<%@ taglib prefix=”s” uri=”/struts-tags”%>,将不可以使用<s:form action=”myweb/test”>等语句。

4.<%@ page contentType=”text/html;charset=GBK” %>中contentType开头字母需要小写。编码字符一般大写。

5.<s:form action=”myweb/test”>中action中对应struts.xml中action的name,myweb对应package中的namespace,myweb前面没有/。

6.<s:textfield name=”name” label=”输入”>中需要标明name属性。在对应的处理文件FirstAction.java中需要定义该属性,并实现get/set方法。<s:property value=”name” />从FirstAction中获取值需要标明value属性。

你可能感兴趣的:(tomcat,struts,struts2.0)