设为首页 收藏本站
查看: 858|回复: 0

[经验分享] 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。

[复制链接]

尚未签到

发表于 2015-8-3 11:58:11 | 显示全部楼层 |阅读模式
  1、在官网下载Struts2的开发包
  下载链接如下:
  http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/struts-2.3.16.3-all.zip?n=struts-2.3.16.3-all.zip
  http://mirrors.cnnic.cn/apache//struts/documentation/struts-2.3.16.3-docs.zip
  http://mirrors.cnnic.cn/apache//struts/source/struts-2.3.16.3-src.zip
  Struts2当前最新版本为:
  解压struts-2.3.16.3-all.zip得到struts-2.3.16.3,开发包的jar文件都存放在lib文件夹中。
  2、加载jar包到工程中的库文件夹部分,使用时候最好都包好红框中的7个jar文件。
DSC0000.jpg
  如何创建名称为struts2的用户库文件夹,方法如下:
  eclipse窗口的菜单栏中选择window--Preferences,选择Java--Build Path,点击下面的User Libraries。然后新建即可。
  3、设置工程属性,使得编译时候能够将用户引入的库文件自动拷贝到WEB-INF/lib路径下去编译工程,如果没有此步,会导致编译的时候找不到class的错误。这里当然也可以直接将库文件放到lib中去,但是建议使用前面的方法。
DSC0001.jpg DSC0002.jpg
  4、新建index.jsp文件,同时拷贝jsp文件必要的库文件servlet-api.jar文件到WEB-INF/lib目录下
  代码解释:第12行的value必须等于"mes",因为这里的"mes"是和HelloWorldAction类中定义的私有变量private String mes保持一致的,与方法对应与HelloWorldAction类中的String getMes()方法。



1
2
3
4
5
6
7
8 welcome Struts2(欢迎页面)
9
10
11     
12         
13         
14     
15
16
  5、Run index.jsp在Tomcat服务器上运行,运行后将在eclipse左侧的工程栏自动生成Servers目录。编辑目录下的web.xml文件,添加如下代码:



1   
2         struts2
3         org.apache.struts2.dispatcher.FilterDispatcher
4     
5     
6         struts2
7         /*
8     
   请注意编写时候,filter节点和filter-mapping节点下的filter-name必须保持一致,均为struts2,且filter-class务必书写准确。
  注:该步骤运行index.jsp主要是要自动生成web.xml文件,然后按照要求设置xml文件,以供struts2框架配置
  另外特别注意,Apache Tomcat的安装路径不能存在空格,否则会可能会出一些意想不到的错误。
  6、编写Action类
  Struts2的核心功能是Action类,Action类是一段特定的URL请求时执行的代码,过滤器(FilterDispatcher)会根据请求的URL不同,执行相应的Action类,Action类执行的结果一般对应于一个result展现给用户。result通过字符串名字来标识,过滤器根据Action返回的结果字符串选择对应的result展示给用户,Action与其对应的result在struts.xml文件中进行配置。
  一般Action类会继承com.opensymphony.xwork2.ActionSupport类,并重写此类中的execute()方法。在src目录下创建一个新类HelloWorldAction.java,代码如下:



1 //javac -classpath "C:\Program Files\Java\jdk1.7.0_60\lib\tools.jar;D:\Java\struts-2.3.16.3-all\struts-2.3.16.3\lib\xwork-core-2.3.16.3.jar" HelloWorldAction.java
2
3 package com.struts2;
4 import com.opensymphony.xwork2.ActionSupport;
5
6 public class HelloWorldAction extends ActionSupport{
7     private String mes;
8     
9     public String getMes(){
10         return mes;
11     }
12     public void setMes(String _mes){
13         this.mes=_mes;
14     }
15     
16     public String execute()throws Exception{
17         mes="Hello World!";
18         return SUCCESS;
19     }
20 }
  手动编译生成class文件,编译命令为:
javac -classpath "C:\Program Files\Java\jdk1.7.0_60\lib\tools.jar;D:\Java\struts-2.3.16.3-all\struts-2.3.16.3\lib\xwork-core-2.3.16.3.jar" HelloWorldAction.java
  7、配置struts.xml文件(...\WebContent\WEB-INF\classes\路径下)
  



1
2
3
4     
5     
6         
7             /index.jsp
8                 
9     
10
  第6行,action节点中的name属性等于"Hello",这里就对应访问action的URL名称:http://localhost:8080/StrutsDemoProject/Hello.action
  com.struts2.HelloWorldAction 为HelloWorldAction的class路径
  
  8、拷贝struts2开发包中必要的jar文件到Tocmat安装路径下的lib文件夹中,运行index.jsp程序,这时应该不会在eclipse的Console窗口出现class not found 的错误。(这里需要注意如果在WEB-INF/lib下和tomcat的安装目录的lib下面同时放了struts2的jar文件的时候,这个时候会出现jar文件冲突的错误,另外也可能出现其他意想不到的问题。届时,apache运行失败,问题很难排查。)
  C:\apache-tomcat-8.0.9\lib下新增的struts2的jar文件列表如下:
  struts2-core-2.3.16.3.jar   ognl-3.0.6.jar  freemarker-2.3.19.jar
  commons-logging-1.1.3.jar  javassist-3.11.0.GA.jar
  xwork-core-2.3.16.3.jar   commons-lang3-3.1.jar
  正常情况下此时运行index.jsp的Console界面是:(这个的错误原因是reques是null,这里是属于正常现象。因为http://localhost:8080/StrutsDemoProject/Hello.action就会正常显示了。)
  七月 27, 2014 10:53:38 下午 org.apache.struts2.dispatcher.Dispatcher error
严重: Exception occurred during processing request: null
java.lang.NullPointerException
DSC0003.jpg
  9、struts2部署后的,运行界面如下
DSC0004.jpg
  到这里就完成了sturts2的开发环境部署。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93672-1-1.html 上篇帖子: Apache与php的安装方法 下篇帖子: 【Django】Apache上运行单个Django项目,mod_wsgi配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表