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
具体配置代码:
<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)——搭建简单的环境的更多相关文章
- struts2入门(搭建环境、配置、示例)
转自:https://blog.csdn.net/u012862311/article/details/53412716 1.下载Struts2的jar包 下载地址:http://archive.ap ...
- Spring入门(1)——搭建简单的环境
步骤: 1.下载spring框架开发包. 2.创建web项目并引入开发包. 3.创建java接口和相应的实现类. 4.编写spring的配置文件. 5.编写 测试类,并进行测试. 1.下载spring ...
- Kotlin入门(1)搭建Kotlin开发环境
Kotlin做为一门编程语言,已经出现好几年了,但此前在国内并不闻名.自从5月份谷歌宣布它成为Android的官方开发语言之后,Kotlin猛然窜红了,虽说短期内Kotlin无法取代Java,但对于一 ...
- SpringMVC学习笔记一:采用注解式搭建简单springMVC环境
搭建的环境使用的是maven项目 项目目录树: 搭建环境使用的jar包,pom.xml文件 <project xmlns="http://maven.apache.org/POM/4. ...
- 【Kafka入门】搭建Kafka本地环境
本博文介绍如何一步步搭建起Kafka本地环境. 下载Kafka 0.9.0.0 并配置软链接 下载好后,放入电脑本地安装目录,mac下我放在/usr/local下,解压Kafka. -0.9.0.0. ...
- 搭建简单FTP
搭建简单FTP 环境 CentOS 7 安装 yum install vsftpd 修改配置文件, 在/etc/vsftpd/vsftpd.conf中添加allow_writeable_chroot= ...
- Struts2入门(一)——环境搭建和简单例子(Struts2 2.5.2版本)
一.前言 1.了解三大框架 什么是框架? 框架是一种规范,一种规则,一种把技术组织起来的规则,这就是框架. 什么是三大框架(SSH),Struts.hibernate和spring的作用是什么? St ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- Windows搭建python开发环境,python入门到精通[一]
从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...
随机推荐
- Cloudera Manager架构原理
cloudera manager的核心是管理服务器,该服务器承载管理控制台的Web服务器和应用程序逻辑,并负责安装软件,配置,启动和停止服务,以及管理上的服务运行群集. Cloudera Manage ...
- pyinstaller模块
应用场景: 1 把一些python脚本推广到更多机器上运行,但无法保证他们都有安装python解释器,所以,打包可以免去这一障碍 win: 安装: 在cmd中运行pip install pyinsta ...
- Android课程设计第一天Android Studio安装
注意:课程设计只为完成任务,不做细节描述~ 学校有一个Android的课设,所以顺便把Android Studio安装了上去. 实际上安装过程并不复杂,只有几个地方需要注意~ 安装包可以去http:/ ...
- RHEL 6.5----LVS(DR)
主机名 IP 所需软件 master eth0==>192.168.30.140(Nat) eth0:1==>192.168.17.130(Nat) ipvsadm node-1 et ...
- Squid启动报:Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.
在squid.conf中添加 visible_hostname squid.packet-pushers.net 或者编辑/etc/hosts文件, 在该文件中制定主机IP地址与主机名的对应.
- PowerShell~发布你的mvc网站
通过使用ps加上msbuild可以方便的编译你的.net应用程序,并且可以把它发布到你的磁盘上,部署非常方例! 我们在c盘添加一个hello网站,解决方案名是hello.sln,它的网站是hello. ...
- 【C#】什么时候使用virtual什么时候使用abstract,(另附override/new区别)
一.C#中virtual与abstract的区别(引用“姓吕名布字子乔”的文章) C#的virtual & abstract经常让人混淆,这两个限定词都是为了让子类进行重新定义,覆盖父类的定义 ...
- Node.Js的Module System 以及一些常用 Module
Node.Js学习就按照这本书的流程来. 在第7章结束与第10章结束时分别自己出一个小项目练练手.Node.Js的入门学习计划是这样. 目录:, QQ:1045642972 欢迎来索书以及讨论Node ...
- JS内置对象练习(慕课网题目)
效果图: XXXX年XX月X日 星期X--班级总分为:81 格式要求: 1.显示打印的日期. 格式为类似“XXXX年XX月XX日 星期X” 的当前的时间. 2.计算出该班级的平均分(保留整数). 同学 ...
- htm 中 <b>和<strong>的区别
显示上两者没有任何区别,都是粗体<b>:为了加粗而加粗,推荐使用 css font-weight 属性来创建粗体文字.<strong>:为了强调而加粗,表示十分重要.在网页中使 ...