eclipse调试一个struts2例子时遇到的一些问题总结

一 导入项目到Eclipse

该项目似乎以前在MyE下能运行,记不清了;现导入Eclipse中运行;



二 添加tomcat到eclipse


三 The import javax.servlet cannot be resolved

导入后,出现"The import javax.servlet cannot be resolved" 问题
在Eclipse中,右击项目,选择Java Build Path->Libraries->Add External JARs,找到你计算机中tomcat的安装路径,在common\lib文件夹下选中"servlet-api.jar",添加点击“确定”,ok


四 Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

网上相关说法:

主要原因是缺少 
jstl.jar 
standard.jar 
两个Jar包解决此问题的方法为以下: 
在新建的工程的WEB-INF/lib文件夹里就会有 
jstl.jar 
standard.jar 
拷贝到出错的工程的WEB-INF/lib里加入 
jstl.jar 
standard.jar 
即可解决


直接从以前项目中拖一个jstl.jar 到此项目相应文件夹下;即可;拖动到eclipse的project explorer中对应文件夹;


五 Run as Server




六 运行项目,提示8080端口被占用

查看端口占用和按id查看进程的命令类似如下;
netstat -ano | findstr "80"
tasklist | findstr "5584"


见上图,8080被1816号进程占用;9000端口则空闲;

修改8080为9000;见下图;



七 There is no Action mapped for action name

网友相关论述:
There is no Action mapped for action name .XXX - [unknown location]

GOOGLE后,知道产生这问题的原因有:
1.struts2的配置文件没有放在src目录下,
2.struts2中配置的package标签的namespace属性配置有误
3.页面调用Action的方式有错

但我这次产生这错误都不是上面的原因.
因为我是使用ajax方式提交,所以package扩展于json-default,其它配置(略),

检查配置都没有问题,检查调用方式也没问题,最后想想好像JSON for struts2的插件JAR包还没加上,找到对应STRUTS2相应版本的struts-json-plugin-xxx.jar,加入到应用,问题解决.

最后,加入最后一个导致如题的问题原因:
4.没有加入json对应的插件JAR包

八 双击startup不能启动tocmat

看下端口有没有被占用;
然后打开命令行,进入对应目录,输入startup.bat,看能否运行;

九 eclipse与Myeclipse的Web项目区别

转网友相关论述;
做Web 项目时,新建了一个WEB 项目,如webdemo,eclipse默认的build路径为build, WEB-INF存放于WebContent下面,今改了一个build路径和WebContent名字,发现项目不可用了,

1. 具体修改过程过,把WebContent 改为 WebRoot
2. 把build路径从build/classes 改为 webdemo/WebRoot/WEB-INF/classes

在修改之前原存放于lib下的jar包都存于eclipse项目的Libraries/Web App Libraries目录下面,改后,Web App Libraries 变为空了,而且Tomcat6.x在启动的时候也识别不了了。研究了一下午,终于找出问题所在,今天特发出来,以供后来的朋友参照。

我们打开所建项目目录,在根目录下面有一.settings\org.eclipse.wst.common.component文件,
在刚新建一个项目时,此文件下面的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="webdemo">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="webdemo"/>
<property name="java-output-path" value="/webdemo/build/classes"/>
</wb-module>
</project-modules>

改后;发现少了一句<wb-resource deploy-path="/" source-path="/WebContent"/>,所以我们要手动把它加下,最后改正后的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="webdemo">
<wb-resource deploy-path="/" source-path="/WebRoot"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="webdemo"/>
<property name="java-output-path" value="/webdemo/build/classes"/>
</wb-module>
</project-modules>

这样我们的eclipse web 项目又可以像以前一样运行,而且所有lib包下的jar也会自动存入Libraries/Web App Libraries目录下面。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值