Struts2基本环境搭建过程中容易出现的丢包问题

就拿一个最简单的struts2的hello world为例来说明吧。

struts2是继承自ActionSupport类,所以说一个最简单的hello world是不能缺少该类的包的,也就是说不能缺少xwork-core-2.3.16.jar,由于我们要搭建的框架是struts2,所以说也不能缺少struts2-core-2.3.16.jar,否则这就不是struts2框架了。

综上所述,一个struts2框架必不可少的包文件有:

struts2-core-2.3.16.jar

xwork-core-2.3.16.jar

struts2框架的HelloWorld源码如下:

Struts2Test.java源码:

package com.test;

import com.opensymphony.xwork2.ActionSupport;

public class Struts2Test extends ActionSupport{

	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}

}

struts.xml源码:

<?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>
<constant name="struts.devMode" value="true" />
<package name="default" extends="struts-default">
	<action name="hello" class="com.test.Struts2Test">
		<result name="success">/success.jsp</result>
	</action>
</package>
</struts>

web.xml源码:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

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

</web-app>

index.jsp源码:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My JSP 'index.jsp' starting page</title>
  </head>
  <body>
    This is my JSP page. <br>
  </body>
</html>

success.jsp源码:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
    <base href="<%=basePath%>">
    <title>SUCCESS</title>
  </head>
  <body>
    SUCCESS! <br>
  </body>
</html>

运行程序:

当出现下面的错误时:

严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: ognl/PropertyAccessor

根据提示,这说明此时缺少的包文件是ognl,所以说我们要导入该包:

ognl-3.0.6.jar

重启,继续运行程序

当出现下面的错误时:

严重: Dispatcher initialization failed
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

根据提示,此时出现的错误是“调度程序初始化失败”,而实现该功能的包是javassist,所以说导入该包:

javassist-3.11.0.GA.jar

继续:

此时的错误提示为:

严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

根据提示,此时出现的问题是没有找到类,而该类是StringUtils,所以说我们要导入该类所在的包文件,由于提示中说该类在lang3包中,该包的上一级包是commons,所以根据提示,我们很容易找到下面的包,直接导入即可。

commons-lang3-3.1.jar

继续运行:

此时报的错误为:

警告: Could not create JarEntryRevision for [jar:file:/C:/apache-tomcat-6.0.20/webapps/Struts2Test/WEB-INF/lib/struts2-core-2.3.16.jar]!
java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils

根据提示,我们需要导入的包文件为:commons/io,也就是说,我们需要导入的包文件为commons-io,所以说此处导入的包文件为:

commons-io-2.2.jar

继续运行:

根据提示,此时报的错误是:

严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/apache-tomcat-6.0.20/webapps/Struts2Test/WEB-INF/lib/struts2-core-2.3.16.jar!/struts-default.xml:64:179

根据提示,此时出现的问题仍然是前面出现的“调度程序初始化失败”,此时我们应该看其第二条信息,第一次出现“调度程序初始化失败”时,第二行报的错误是:“InvocationTargetException”,而现在再出现“调度程序初始化失败”时,第二行的报错信息为:“struts-default.xml:64:179”,所以说此时报的错误并不是上次的同一个错误,此时需要导入的包文件为:

commons-fileupload-1.3.jar

继续运行:

此时报的错误信息为:

严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/apache-tomcat-6.0.20/webapps/Struts2Test/WEB-INF/lib/struts2-core-2.3.16.jar!/struts-default.xml:69:87

额。。。貌似刚才的问题没有被解决,但是仔细看第二行提示,此时的提示为:struts-default.xml:69:87,也就是说报的错误信息和刚才的其实是不一样的,也就是说这不是上一个问题,上一个问题已经被解决了,而这是一个新问题,此时导入的包文件为:

freemarker-2.3.19.jar

继续运行程序:

此时提示的信息是:信息:

Server startup in 7228 ms,

也就是说此时程序运行已经没有问题了。

接下来就是访问该程序的路径了:

http://localhost:8080/Struts2Test/

运行的结果:

当访问路径为:

http://localhost:8080/Struts2Test/hello

此时运行的结果为:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-08 23:00:03

Struts2基本环境搭建过程中容易出现的丢包问题的相关文章

【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs

异常: 2014-02-24 12:15:48,507 WARN  [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<init>(106)) - Failed to identify the fs of dir hdfs://fulonghadoop/hbase/lib, ignored java.io.IOException: No FileSystem for scheme: hdfs 解决: 在pom文件中加入: &

hadoop环境搭建过程中遇到的问题

下面是我在安装Hadoop的过程中遇到的一些问题总结,后续将会陆续一一添加,前车之鉴,希望大家今后遇到类似的问题可以避免. 问题1:hadoop 不在 sudoers 文件中.此事将被报告. 我的slave1和slave2都是直接克隆master的.所以直接使用hadoop用户名登陆ubuntu的系统的.在修改主机名的时候,使用sudo vi /etc/hostname出现上述提示. 解决方法: (1).切换ubuntu用户名(创建master虚拟机的时候第一次设置的用户名)登陆ubuntu系统

Selenium TestNG Java环境搭建过程中所遇问题汇总

[问题一]运行时报Unalbe to connect to host 127.0.0.1 on port 7855 [问题分析]Selenium版本与火狐版本不一致,需要下载对应的版本 [解决方式]根据Selenium版本下载对应的火狐版本,版本具体对应方式可以查看官网相关说明(http://www.seleniumhq.org/download/) [问题二]运行时报Main函数错误 [问题分析]由于当前运行JAVA版本为JDK1.6,版本较低,需要高版本的JDK [解决方式]卸载JDK1.6

Informatica环境搭建过程中一些问题-近期项目进了新人,在搭建环境中存在一些问题,之前都处理过一直没有整理,这次接着机会,把这些常见问题处理整理出来

一.Informatica9.5.1创建资源库出错找不到libpmora8.so 错误如下: Database driver event...Error occurred loading library [libclntsh.so.10.1: cannot open shared object file: No such file or directory]Database driver event...Error occurred loading library [libpmora8.so]

自建yum源解决Ceph搭建过程中从官网取包慢的问题

最近项目组需要ceph环境,第一次搭建ceph,各种不顺,装了卸,卸了装,一遍又一遍地按照官网的操作进行.最气人的是网速差,从官网取包太慢.一轮尝试就浪费一上午. 因此想到本地新建yum源. 首先,按照官网http://docs.ceph.com/docs/master/start/搭建,(自恃高明的开发人员肯定是把防火墙全部关掉,搭建环境一律用root用户,暂且不提) 当走到STEP 2: STORAGE CLUSTER中 “ceph-deploy install node1 node2 no

Struts2开发环境搭建,及一个简单登录功能实例

首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1.3,下载struts-2.3.16.3-all.zip,解压,放着. 第二步 新建Web Project并导入jar包在MyEclispe中新建Web Project,然后找到解压的Struts2包,在里面apps文件夹下找到struts2-blank.war,解压这个WAR文件,将里面WEB-IN

《结对-结对编项目作业名称-开发环境搭建过程》

<结对-结对编项目作业名称-开发环境搭建过程>要求:选择适合的开发工具,搭建开发环境及环境搭建过程. 1.开发工具:Python Python,是一种面向对象.直译式计算机编程语言,具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内

MAPR 开发环境搭建过程记录

我下载了MAPR 官方提供的virtualbox 和 vmware版本的sandbox进行试用. 开始试用了一会vmware版的,因为不太熟悉vmware的操作,而且vmplayer经常没有反应,后来改用了virtualbox版. 因为sandbox是单机版的,所以必须把网络设置设为host only,否则服务是无法正常启动的. 即使是这样,服务时常因为超时无法正常启动,这时我们可以在按alt+F2进入系统后重启服务即可.可能需要多尝试几次. 我想在sandbox中使用eclipse开发mapr

《团对-排课系统-开发环境搭建过程》

二〇一七年晚上十半多了八分钟 适合开发工具:Visual Studio 2010 ,Visual Studio 2015 ,Visual Studio 2017 所需环境:windows系统 环境搭建过程:因为所需环境即是windows系统,所以不需要特别搭建...