步骤:

1、下载Struts2的开发包。

2、创建Web项目。

3、导入需要的jar包到项目里。

4、在web.xml文件里面配置struts2的核心控制器,也就是一个过滤器。

5、编写Action类。

6、编写struts.xml配置文件。

7、将项目加到服务器中,用浏览器访问。


1、下载Struts2的开发包

访问地址:https://struts.apache.org/,点击Download进入下载页面

会出现一下页面:

  Full Distribution:这个压缩包包含下面所有的内容,下载这个其他的就不用下载了。

  Example Application:Struts2的案例应用。

  Essential Dependencies Only:基本依赖包,里面是Struts2必须的依赖包,里面只有9个必须的jar包。

  All Dependencies:所有的依赖包,包含上面的基本依赖包,里面有一百多个jar包。

  Documentation:Struts2的开发文档。

  Source:源码。

这里下载基本依赖包,只有4MB。

2、创建Web项目。

用Eclipse创建一个叫Struts2Demo的Web项目。

这里我们选择的版本是2.5,如果创建3.0以及以上版本在WebContent——>WEB-INF目录下没有web.xml文件。

3、导入需要的jar包到项目里。

将上下载的9个jar包复制到WebContent——>WEB-INF——>lib目录下面

4、在web.xml文件里面配置struts2的核心控制器,也就是一个过滤器。

这个struts2控制器也就是在web.xml中配置的一个过滤器。

前端控制器的路径为:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

具体配置代码:

    <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>

5、编写Action类。

Action类是Struts用来处理浏览器发过来的请求,封装数据,响应请求的,需要自己编写。

编写一个HelloAction类,当访问这个类的时候,会向控制台输出Hello Struts2!。

Action类代码:

 package com.struts.test;

 public class HelloAction {
     public String sayHello() {
         System.out.println("Hello Struts2!");
         return null;
     }
 }

6、编写struts.xml配置文件。

struts.xml配置文件要是不会写可以下载官网案例应用,用里面的模板做些修改就行。

struts.xml配置文件编写要求:

  a、文件名一定要是struts.xml。

  b、放在src目录下。

配置文件格式

<?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="default" namespace="/" extends="struts-default">
            <action name="action名" class="访问的action类的路径从包名开始" method="执行的方法名">
            </action>
        </package>
    </struts>

实例

 <?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="default" namespace="/" extends="struts-default">
         <action name="hello" class="com.struts.test.HelloAction" method="sayHello">
         </action>
     </package>
 </struts>

7、将项目加到服务器中,用浏览器访问。

右击添加的tomcat服务器——>Add and Remove

将我们的项目添加到服务器里面。然后启动服务器。

在浏览器输入:http://localhost:8080/Struts2Demo/hello

控制台显示结果:


有个好玩的事:

就是我第一次搭建的时候老是报错:java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

我检查了web.xml文件,检查jar包,检查struts2版本等等都没有问题, 最后我把tomcat服务器删了又重新加进去就好了。。。。。。。。。

不知道为什么,但这里说一下怎么解决 这可恶的java.lang.ClassNotFoundException问题吧:

  异常原因:

      就是配置的那个struts.xml文件找不到那个StrutsPrepareAndExecuteFilter类

  解决方法:

      1、查看struts.xml文件配置的对不对,就是这句话<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>,里面那个类的路径你可以在Libraries的struts2-core-版本.jar包里面找,找到StrutsPrepareAndExecuteFilter这个类后右击Copy Qualified Name  然后粘贴进那个<filter-class>标签里面就保证不会错了。但是要注意:粘贴的全类命最后会有个.class,删掉就好了

      2、注意struts2的版本,2.3和2.5的那个类路径不一样,用上面2的方法复制就不会出现问题。

      3、如果你都检查了没问题,那么删了tomcat服务器,重启eclipse,重新来一遍再试试。有可能他们矫情了。


Struts2入门(1)——搭建简单的环境的更多相关文章

  1. struts2入门(搭建环境、配置、示例)

    转自:https://blog.csdn.net/u012862311/article/details/53412716 1.下载Struts2的jar包 下载地址:http://archive.ap ...

  2. Spring入门(1)——搭建简单的环境

    步骤: 1.下载spring框架开发包. 2.创建web项目并引入开发包. 3.创建java接口和相应的实现类. 4.编写spring的配置文件. 5.编写 测试类,并进行测试. 1.下载spring ...

  3. Kotlin入门(1)搭建Kotlin开发环境

    Kotlin做为一门编程语言,已经出现好几年了,但此前在国内并不闻名.自从5月份谷歌宣布它成为Android的官方开发语言之后,Kotlin猛然窜红了,虽说短期内Kotlin无法取代Java,但对于一 ...

  4. SpringMVC学习笔记一:采用注解式搭建简单springMVC环境

    搭建的环境使用的是maven项目 项目目录树: 搭建环境使用的jar包,pom.xml文件 <project xmlns="http://maven.apache.org/POM/4. ...

  5. 【Kafka入门】搭建Kafka本地环境

    本博文介绍如何一步步搭建起Kafka本地环境. 下载Kafka 0.9.0.0 并配置软链接 下载好后,放入电脑本地安装目录,mac下我放在/usr/local下,解压Kafka. -0.9.0.0. ...

  6. 搭建简单FTP

    搭建简单FTP 环境 CentOS 7 安装 yum install vsftpd 修改配置文件, 在/etc/vsftpd/vsftpd.conf中添加allow_writeable_chroot= ...

  7. Struts2入门(一)——环境搭建和简单例子(Struts2 2.5.2版本)

    一.前言 1.了解三大框架 什么是框架? 框架是一种规范,一种规则,一种把技术组织起来的规则,这就是框架. 什么是三大框架(SSH),Struts.hibernate和spring的作用是什么? St ...

  8. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  9. Windows搭建python开发环境,python入门到精通[一]

    从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...

随机推荐

  1. Codeforces Round #544 (Div. 3) D. Zero Quantity Maximization

    链接:https://codeforces.com/contest/1133/problem/D 题意: 给两个数组a,b. 同时ci = ai * d + bi. 找到一个d使c数组中的0最多. 求 ...

  2. New Land LightOJ - 1424

    New Land LightOJ - 1424 题意:找出01矩阵中最大的完全由0组成的矩阵. 方法: 重点在于转化. 先预处理(i,j)点向上最长能取到的连续的全0条的长度.然后枚举某一行作为矩阵的 ...

  3. LCA UESTC 92 Journey

    题目传送门 题意:先给一棵树,然后有一条额外的边,问u走到v从现在最短的路走和原来不加边走的路节省了多少距离 分析:首先跑不加边的树的LCA,这样能求出任意两点的距离,那么现在x和y多连了一条边,如果 ...

  4. HDU 1220 B - Cube

    http://acm.hdu.edu.cn/showproblem.php?pid=1220 一开始的做法是,先暴力算出一个面,就是n * n的面,能有多少对.记作face 然后从上开始算下来,最上一 ...

  5. DNS递归查询、主从、加密认证、负载均衡

    环境同DNS练习之正向解析. 在sishen64主机上安装必要软件 [root@sishen64 ~]# yum install -y bind bind-chroot bind-libs bind- ...

  6. XSS漏洞解析(二)

    上篇我们讲了XSS的一些相关的内容,这篇我们就直接上代码demo解决实际问题吧. 主要的问题是xssfilter的编写,我们直接去网上找一下框架,一般有js,php,java等语言都有相关的XSS的相 ...

  7. webpack采坑十连跳

    4.css.js一同打包进html ---------------- https://www.cnblogs.com/amiezhang/p/9723565.html 依赖内联插件  HtmlWebp ...

  8. 【学习笔记】深入理解js原型和闭包(5)——instanceof

    又介绍一个老朋友——instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...

  9. bt设置指定的ip地址

    auto eth0 iface eth0 inet staticaddress 192.168.1.112 IP地址netmask 255.255.255.0 子网掩码network 192.168. ...

  10. Java练习题00

    问题: 将一个数字与数组中的元素比较, 如果该数字存在数组中,给出该数字在数组中的位置: 如果该数字不在数组中,给出提示.   代码: public class Page84{     public ...