struts2学习笔记--动手搭建环境+第一个helloworld项目

简介:   在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下:   前期准备:下载struts2的完整包,下载地址:https://struts.apache.

  在Myeclipse中已经内置好了struts2的环境,但是为了更好的理解,这里自己从头搭建一下:

  前期准备:下载struts2的完整包,下载地址:https://struts.apache.org/,解压缩,在apps目录下,解压struts-blank.war包.

  • 第一步:导jar包:

    myeclipse中,新建一个web项目,将解压好的struts-blank中的lib文件夹下的所有jar包复制到项目的lib文件夹下.然后Add to builtpath.

    算上日志相关的jar包,一共13个:

       

  • 第二步,配置struts2的核心控制器web.xml:
  <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  • 第三步,在src下添加名为struts.xml的配置文件:

  文件名不要改,可以自行添加,建议直接到下载的完整包里找一个项目,在src下拷贝它的struts.xml文件到自己的项目,把多余的东西删掉,只留下这样:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

</struts>

 


 

到这里struts框架环境已经搭建完成了,现在我们来完成一个最简单的hello-world项目:

  • 编写Action类-我这里命名为HelloAction:
package com.wang.action;

public class HelloAction {

    public String execute(){
        System.out.println("Hello World");
        return "success";
    }
}

  注:在struts2中,默认执行execute方法,并且返回类型为String类型,访问权限为public(龟腚).

  •  配置ACtion类-在struts.xml中,配置HelloAction
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <package name="hello" extends="struts-default">
        <action name="hello" class="com.wang.action.HelloAction">
            <result name="success">/index.jsp</result>
        </action>
    </package>
    
</struts>

如果在struts.xml中没有代码提示,可以在window->preferences->Myeclipse->Files and Editors->xml->xml catalog页面内配置.dtd文件(最好输入xml,查找):

这样ALT+/就可以出现代码提示了,完成后部署到Tomcat服务器并启动,打开浏览器输入http://localhost:8080/struts2_hello/hello,运行,就可以看到控制器打印出了helloWorld.

相关文章
|
7月前
|
存储 缓存 算法
【Conan 入门教程】从零开始编写第一个自定义部署器
【Conan 入门教程】从零开始编写第一个自定义部署器
167 1
|
Java Spring 容器
SpringBoot启动原理——Run方法源码解析《课时十二》
SpringBoot启动原理——Run方法源码解析《课时十二》
108 0
|
Java 数据处理 数据库
StringMvc环境搭建以及小demo,例子
StringMvc环境搭建以及小demo,例子
139 1
StringMvc环境搭建以及小demo,例子
小白救星-SpringBoot最简教程02: HelloWorld
小白救星-SpringBoot最简教程02: HelloWorld
|
Java Spring
超详细!IDEA (初级,新手必看)搭建第一个springboot项目
超详细!IDEA (初级,新手必看)搭建第一个springboot项目
144 0
超详细!IDEA (初级,新手必看)搭建第一个springboot项目
|
Java Maven 数据格式
小白救星-SpringBoot最简教程03: springboot 读取 yml 配置
springboot 读取 yml 配置的几种方式。
781 0
|
Java Maven
SpringBoot2学习(一):第一个项目
SpringBoot2学习(一):第一个项目
136 0
SpringBoot2学习(一):第一个项目
|
Java 应用服务中间件 Maven
小白救星-SpringBoot最简教程01: 用IDEA创建SpringBoot项目
小白救星-SpringBoot最简教程01: 用IDEA创建SpringBoot项目
277 0
|
前端开发 Java 测试技术
此文要从SpringBoot打包后不能读取classpath下文件说起
您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的给个一键三连吧。
758 0
此文要从SpringBoot打包后不能读取classpath下文件说起
|
机器学习/深度学习 消息中间件 缓存
从SpringBoot启动,阅读源码设计
服务端开发,绕不开对Spring框架的深度学习,如果单纯站在源码阅读的角度,建议先熟读SpringBoot启动流程,然后再适当扩展其他源码块;
192 0
从SpringBoot启动,阅读源码设计