struts2.0.1的问题

struts2.0.1的问题
由于本人初学struts,首先接触的是struts2.0.1,再网上找到《为Struts 2.0做好准备》
这篇文章来学习。感觉这篇文章不错,但是有些遇到的问题没有写出来。我把我
现在遇到的问题解决方法发出来,以求大家共同学习,探讨。
此代码是照搬那篇文章的代码。我的运行环境是jdk1.5,tomcat5.5.17,struts2.0.1
SayHello.jsp代码如下:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Say Hello</title>
    </head>
    <body>
        <h3>Say "Hello" to: </h3>
        <s:form action="HelloWorld">
            Name: <s:textfield name="name" />
            <s:submit />
        </s:form>
    </body>
</html>
这段代码不能运行:

tomcat错误提示如下:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:248)


root cause

java.lang.NullPointerException
org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:703)
org.apache.struts2.components.UIBean.end(UIBean.java:450)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:36)
org.apache.jsp.SayHello_jsp._jspx_meth_s_textfield_0(SayHello_jsp.java:139)
org.apache.jsp.SayHello_jsp._jspx_meth_s_form_0(SayHello_jsp.java:105)
org.apache.jsp.SayHello_jsp._jspService(SayHello_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:248)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17

而直接在浏览器中直接输入同目录下的HelloWorld却能运行。
HelloWord.jsp代码如下:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>
        <h3><s:property value="name" /></h3>
    </body>
</html>

这种情况下,我把WEB-INF/lib的jar包删掉,把struts2-blank-2.0.1.war里的jar包复制到这个WEB-INF/lib下,
重新启动tomcat,结果哪个SayHello.jsp文件能够运行。这个方法已经有人在网上说过,好象有些人没太注意。
大多人偏重于代码与配置上,我在这里再重复的告诉大家,这个也可能和struts2的不成熟有关吧,大多人现在
还在研究struts1.x。呵呵,jar包多了,也不见得是好事情啊,不知道这个是什么原因,我认为是加载jar包的
时候,加载错了jar包。

还有我在提一点,就是编译java文件的问题,把struts2-all-2.0.1.jar和xwork-2.0-beta-1.jar文件加到
环境变量里,来方便编译。这个问题是最基本的java的classpath问题,不懂的要再去学习一下哦。
(注意:struts2-all-2.0.1.jar和xwork-2.0-beta-1.jar不要放到tomcat的common/lib目录下,否则系统还会
产生错误,自己可以随便建个目录,加到系统环境变量,Everything is OK!)
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值