Struts2入门(1)——搭建简单的环境

步骤:

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

具体配置代码:

1    <filter>
2         <filter-name>struts2</filter-name>
3         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4       </filter>
5       <filter-mapping>
6         <filter-name>struts2</filter-name>
7         <url-pattern>/*</url-pattern>
8       </filter-mapping>
View Code

 5、编写Action类。

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

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

Action类代码:

1 package com.struts.test;
2 
3 public class HelloAction {
4     public String sayHello() {
5         System.out.println("Hello Struts2!");
6         return null;
7     }
8 }
View Code

 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>

实例

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2     <!DOCTYPE struts PUBLIC
 3         "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4         "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 <struts>
 6     <package name="default" namespace="/" extends="struts-default">
 7         <action name="hello" class="com.struts.test.HelloAction" method="sayHello">
 8         </action>
 9     </package>
10 </struts>
View Code

 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,重新来一遍再试试。有可能他们矫情了。


 

转载于:https://www.cnblogs.com/Eastry/p/10426295.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值