在JSP中找不到servlet类,这是怎么回事呢?
根据WEB项目架构,servlet.class文件应该放在classes里,而且要在包里。所以我的servlet.class文件的路径是e:/testWeb/jspdem...
根据WEB项目架构, servlet.class文件应该放在classes里,而且要在包里。
所以我的servlet.class文件的路径是 e:/testWeb/jspdemo/web-inf/classes/org/apche/servlet中, (说明一下:testWeb是tomcat的工作目录),所有的JSP文件放在jspdemo文件夹下,所以在运行时,输入地址为http://localhost:8080/jspdemo/login.jsp运行正常,使用提交到servlet后,提示404错误(未找到)。
按理说当提交到servlet时应该是从这个工作目录中的classes文件夹下开始查找的啊。竟然没找到。
web.xml映射
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>org.apche.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
请大虾们帮小弟看看,哪里有错,小弟在这里谢过了。
补充一下,http://localhost:8080/test/jspdemo/login.jsp
jspdemo是工作目录下了一个子文件夹,而test是个虚拟的目录,指向的是testWeb,也就是说在地址栏中输入test代替testWeb, 会是这个子文件夹jspdemo有关系吗? 展开
所以我的servlet.class文件的路径是 e:/testWeb/jspdemo/web-inf/classes/org/apche/servlet中, (说明一下:testWeb是tomcat的工作目录),所有的JSP文件放在jspdemo文件夹下,所以在运行时,输入地址为http://localhost:8080/jspdemo/login.jsp运行正常,使用提交到servlet后,提示404错误(未找到)。
按理说当提交到servlet时应该是从这个工作目录中的classes文件夹下开始查找的啊。竟然没找到。
web.xml映射
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>org.apche.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
请大虾们帮小弟看看,哪里有错,小弟在这里谢过了。
补充一下,http://localhost:8080/test/jspdemo/login.jsp
jspdemo是工作目录下了一个子文件夹,而test是个虚拟的目录,指向的是testWeb,也就是说在地址栏中输入test代替testWeb, 会是这个子文件夹jspdemo有关系吗? 展开
4个回答
展开全部
既然是servlet 404,那你怎么不把最最最最最最重要的提交的servelt的访问路径贴出来??
很明显的是你的提交路径错了。。。。。
很明显的是你的提交路径错了。。。。。
更多追问追答
追问
http://localhost:8080/test/jspdemo/login.jsp 比如说这个运行正常,action提交的是login(这是servlet映射的URL名字)
结果地址栏变化是http://localhost:8080/test/jspdemo/login 等于把后面的.jsp文件变成了servlet映射的URL名字“login”。结果就说在testWeb/jspdemo/login未找到(404)。
那么等于servlet-class文件没有找到啊, 运行tomcat没有出错信息,web.xml中的映射应该不会有问题。
追答
把提交路径改成action="/test/jspdemo/login" 或者 action="jspdemo/login"试试。。。。。
真不明白,你又不是练习配置tomcat,干吗把项目的访问路径弄得那么深,都到三级目录了。。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
配置没问题,首先看下你提交的时候servlet路径对不对,如果手动发布的话就把你项目里WEB-ROOT下WEB-INF/classes里面所有的文件拷贝到TOMCAT项目里的classes文件夹里,然后从新发布下
追问
http://localhost:8080/test/jspdemo/login.jsp
jspdemo是工作目录下了一个子文件夹,而test是个虚拟的目录,指向的是testWeb,也就是说在地址栏中输入test代替testWeb, 会是这个子文件夹jspdemo有关系吗?
当在JSP里提交后,地址栏中的.jsp名字变成servlet的URL名称了。之后就提示找不到(404)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-05
展开全部
仔细一点。。 你看看大小写。LoginServlet loginServlet 在servlet中 这些都是对应的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建Servlet之后,重新部署、重新启动了么?建议用myeclipse配置tomcat,部署方便
追问
每次tomcat都重启过, 我使用的是bin文件夹里的startup启动,方便关闭。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询