Struts2_HelloWorld
来源:互联网 发布:淘宝上的白酒能买吗 编辑:程序博客网 时间:2024/04/29 14:38
HelloWorld_1
我们首先会讲Action,我这么一说大家可能会晕,Struts 2 是个什么样了,我还不知道了,上来就开始讲Action?,,没事的,大家先跟我做操作,HelloWorld,做完之后,再来给大家做解释Struts 2 到底是个什么东西,
第一步,新建 一个 Web 项目
打开 MyEclipse IDE工具,new 一个 Web Project ,起名 为 Struts2_0100_Introduction
我这样起名的话了,下一个项目就会叫0200 ,如果两个项目之间要加新的项目我们就叫做0150,所以我们给它留一点预留的空间,
建议大家选上 Java EE 5.0 ,这样的话如果你用JSTL这类的就会自动的帮你给加上了,不用你手动设置了,所以用JAVA EE5.0 ,点击Finish ,完成。
建完这个项目之后,有几个地方需要你设置,这个你要小心,
第一个 :设置 Tomcat的位置
找到Window
第二个 :设置 JDK 的位置。
Window
我这里用的是 JRE ,并不是JDK ,
然后把你自己的JDK打上勾,就可以了,这样将来我们默认用的就是它了。如下图所示:
确认一下,如下图位置的 JRE System Library 是不是你自己安装的 JDK,
Java EE 5 的Library实际上是MyEclipse自带的,这个大家不用管它。
好这个项目的框架我们就搭好了。
框架搭好之后了,我们要做的是一个Struts 2的项目,
Struts 2的软件了相信大家已经下载了,我希望大家养成一个习惯,任何的东西,下载了以后,先大致的浏览一下,
src 源码,
lib用到的类库
docs文档,
apps
我们解压的是 struts2-blank-2.0.14,也就是空的,最基本的这样的一个示例程序,
第二步,拷贝 strut.xml的配置文件
先把 WEB-INF下面的classes下面的struts.xml的配置文件拷贝到我们自己的项目中的Sources目录下(即src目录下),因为Sources目录编译完之后就默认将其放到 classes目录下面去了。这是拷文件,除了文件之外,我们还需要拷类库,
第三步,拷贝 类库,即Struts 2 所需要的JAR文件,
和刚才一样,还是从刚才的项目里面拷贝
有的时候你自己做实验,你不拷这个commons-io.jar ,项目也能完成,这个JAR吧偶是将来需要,不过你要是写上传下载文件这个东西就需要了。保险起见一起拷贝过去。
当大家拷贝好之后,从这里是看不到的,因为这个视图是 Package Explorer,如果大家想看到应该Window
在这个视图中,你可以清楚的看到你的这个项目在硬盘上的情况, 大多数的操作还是在Package Explorer 视图里面。
第四步 ,配置 web.xml文件。
这个也可以参考给我们提供的示例程序的项目,
找到一个web.xml文件,把关于filter的配置部分拷贝到我们的项目中。
有人说老师您够土的啊,这个都背不过,谁背谁傻瓜,千万别背这些东西,哪些配置什么的,在你真正参加开发之后,绝对是copy ,改,这个没有什么技术含量,
这里有一个地方需要大家注意,配置的这个<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteF
这里的ng叫做next generation 叫做下一代的filter,2.1,注意了2.1和2.0是不一样的,2.0这里面用的是dispatcherFilter,所以你在参考资料的时候也要小心一点,咱们现在讲的是2.1,这个类了是 Struts 的准备和执行的filter,所以通过这个名字,我相信有的同学它肯定会猜得出来,原来叫做dispatcherFilter,现在叫做 StrutsPrepareAndExecuteF
这里的filter-mapping,大家记住了对于Struts 2 来说,这里的<url-pattern>/*</url-pattern>你就永远这么写,斜杠星,即
直接写 *.action就会映射所有的action,,写/*.action ,只能映射根目录下的action,我想他应该内部程序就是这样写的,有的人会说,老师它有病啊,它为什么不能映射所有的action了?这个你不能问我,你需要问 Struts 2 的开发人员,
ok 这样就配置完了。
当我们把这个项目基本的东西准备完成之后,我们来把这个项目改成我们想要的内容,src目录下面我们有个文件叫做 struts.xml,这个文件大家可以把 <struts>标签里面的东西全部给注释掉 ,建议大家是注释,而不是删除,因为当你自己写的时候还可以做参考。
下面我们动手做一个配置,这个大家写也可以,copy也可以,把两个 package之间的内容拷贝过来,
这里面有一个配置叫做 action,名字我们改一下叫做hello,其他的我们都不改,如下图所示:
在action里面有一个result,把result的类型去掉,把它的param也去掉,result里面就写一句话 ,即 /Hello.jsp
我们把这个Hello.jsp页面打开,
它默认的是 MyEclipse Visual JSP Dedigner
OK ,我们就是写好了,
我用的是MyEclipse 7.0 ,它有一个好处,直接可以 Debug As
可以把这个项目作为Server Application 直接运行,然后你可以选择你刚才配置好的那个服务器,
启动完成之后了我们要访问它,
访问的时候可以用自己的浏览器,也可以用内嵌的浏览器,用哪个都可以。
访问 http://localhost:8080/
这个说明Tomcat服务器是正常的,这就是循序渐进的调试,虽然这个东西操作比较小,但是这个习惯其实很重要,调试程序要循序渐进,而不是想着把2万行代码写完了再去调试,那样的话,你费的力气就大多了,这个名字太长不好敲,点右键
粘帖就可以了,即 http://localhost:8080/Struts2_0100_Introduction 此时如果我们直接回车,是没有任何内容可以显示的,而且还报了如下的错误,
这个原因是我们在struts.xml配置文件里面写了一个namespace叫做
好这个namespace 简单解释,和大家在这里访问的路径一一对应,所以这个斜杠就跟我们的路径是一一对应的,我们下面没有那种默认的处理,所以你直接敲 斜杠 它会出错,不过我们在这个里面有一个hello,所以在这个namespace的斜杠后面敲hello.action ,即
http://localhost:8080/Struts2_0100_Introduction/hello.action 回车,OK,大家请看,它显示的是什么内容了?是不是我们Hello.jsp当中的内容啊,?是的。
也就是说我们访问的是hello.action,它给我们了一个result ,在Struts 2 里面,后面的 .action 是可以省略的,即 http://localhost:8080/Struts2_0100_Introduction/hello 因为它默认的配置就是你可以省略,你不要敲那个 .action直接敲hello就可以了,待会再给大家讲为什么 我们访问 hello的时候了,显示的就是 Hello.jsp当中的内容?
- Struts2_HelloWorld
- 2.Struts2_HelloWorld
- (04)Struts2_helloWorld
- (一)入门级:struts2_HelloWorld
- 11级_Java_曹建波 02.26 Struts2_HelloWorld
- Struts2.0报错HTTP Status 404 - /Struts2_HelloWorld/HelloWorld
- java三大框架学习之路---Struts2_HelloWorld
- LayoutInflater的使用
- mvc4部署到iis7后加载不到样式,图片和js
- 第四篇 QML代码与现有Qt UI代码整合
- Android动画之translate(位移动画)
- Hprose for php(三)——客户端
- Struts2_HelloWorld
- Mysql中文乱码问题完美解决方案
- java写email邮件发送的时候遇到的问题
- 这里讲解剖析一下thinkphp的pathinfo访问模式的过程
- 类的可用性设备检测
- 创建及调用自己的ContentProvider
- chromium for android硬件渲染流程全解析(browser进程)
- Tomcat 配置keystoreFile和keystorePass 启动异常解决
- Struts2_2_Namespace_命名空间