• struts2 的HelloWord


    之前有接触struts2,可是有种琵琶半遮面的状态,现在不忙,赶紧学习学习!

    1:我使用的是MyEclipse 10。建立web项目,给项目添加外部引用包(project-properties-Java Build Path-Add External Jars...)。添加的包有:commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,commons-logging-api-1.1.jar,freemarker-2.3.16.jar,javassist-3.7.ga.jar,ognl-3.0.jar,struts2-core-2.2.1.1.jar,xwork-core-2.2.1.1.jar。注意:由于struts2版本的差异性,上面提到的包不一定满足所有版本的需求。配置完struts2后,请部署运行一下。根据运行时的错误提示来添加jar包解决问题。比如,配置struts-2.2.1.1时需要commons-io-1.3.2.jar包和javassist-3.7.ga.jar包,但是2.1版本就不需要这两个包。

    2:在web.xml中加入struts2 MVC框架启动配置

    <filter>
    <filter-name>struts</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    3:编写struts.xml文件

    在MyEclipse项目中的src根目录下建立一个struts.xml文件。(可以打开下载的struts2安装包里的apps目录下的任意一个jar包,在里面的WEB_INFR/src目录下,寻找struts.xml文件,将该文件复制进项目的src根目录下,将里面的内容清空(只留下<struts>标签和头部标签即可))

    4:编写LoginAction类。代码如下:

    public class HelloAction extends ActionSupport {

    private String str;

    public String hello() {
    this.str = "hello!";
    return "success";
    }

    public String getStr() {
    return str;
    }

    public void setStr(String str) {
    this.str = str;
    }

    }

    5:配置struts.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>
    <package name="test" namespace="/np" extends="struts-default">
    <action name="hello" class="cn.struts.test.HelloAction" method="hello">
    <result name="success">/hello.jsp</result>
    </action>
    </package>
    </struts>

    主要属性说明:package-name:用于区别不同的package;必须是唯一的、可用的变量名;用于其它package来继承;

                        package--namespace:用于减少重复代码(和struts1比较);是调用action时输入路径的组成部分;

                        package--extends:用于继承其它package以使用里面的过滤器等东东;

                        action--name:用于在一个package里区别不同的action;必须是唯一的、可用的变量名;是调用action时输入路径的组成部分;

                        action--class:action所在的路径(包名+类名);

           action--method:action所调用的方法名;

    还有其它的属性,因为项目里没有用到,就没有解释。如有需要,请查阅相关文档。

    6:根据struts.xml里配置的内容,还需要一个hello.jsp页面。编写hello.jsp页面。代码如下:

    <%@ page language="java" import="java.util.*" pageEncoding="US-ASCII"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    %>
    <%@ taglib uri="/struts-tags" prefix="s"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    <title>My JSP 'hello.jsp' starting page</title>
    </head>
    <body>
    <h1>
    <s:property value="str" />
    </h1>
    </body>
    </html>

     经过上述步骤,struts2的一个简单实例已经编写完毕。启动tomcat,在网页地址栏里输入:http://localhost:8080/np/hello.action  查看结果!

  • 相关阅读:
    问题:charles开启Charles-Proxy-macOS Proxy 时报错
    通关中级测评师
    20210104 递归
    20201231-3 字符编码转换详解1
    20201231-2 元组
    20201231-1 购物车程序练习实例
    20201230-3 bytes数据类型
    20201230 python数据类型
    20201230 pyc是什么
    20201230-1 网络基础知识
  • 原文地址:https://www.cnblogs.com/szlwork/p/3358816.html
Copyright © 2020-2023  润新知