-
新手问题:jsp中找不到servlet20
我用 启动tomcat后,登陆 login.jsp正常,但是输入用户各和密码就出现了错误,如下
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Wrapper cannot find servlet class servlets.LoginServlet or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
java.lang.Thread.run(Unknown Source)
root cause
web文件的结构如下,
应该没什么问题。请指教
问题补充:wzglovejava 写道仔细检查一下你的Web.xml中Servlet的配置是否正确,还有页面访问时用的是<servlet-name>中配置的字符串。
感谢你的回答。之前我也去对过,还有server.xml里的读取文件路径设置我也加了进去,但是重起后还是那样子
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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/jwee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
这样应该没什么问题吧!
问题补充:igotti 写道servlet配置有问题。从你的项目目录看,你的LoginServlet处于根目录下。那么你的servlet也必须写成<servlet> <servlet-name>login</servlet-name> <servlet-class>LoginServlet</servlet-class> /*去掉servlet*/ </servlet>
感谢!
我的站点myjsp的根目录是:C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\helloworld\
web文件都是放在这里的。所以我感觉这不是根目录。
而且我按你的方法改了后,还是出现了以上的错误。
问题补充:wzglovejava 写道从你的站点路径来看,你的LoginServlet.java应该是被你直接放在了src下了,这时他是在默认包里面的,是访问不到的。你建个包让后把它放进去。。。
我是把LoginServlet.java放在了classes文件中。wzglovejava 你说的是什么意思。好像没有src。 LoginServlet.java是让tomcat 中编译的吧
能否说的详细一点
问题补充:wzglovejava 写道你的项目发布到服务器上之后,会被放在classes中没错,你可以看一下,如果你的src下有个包servlet,那么发布之后就是web-inf/classes/servlet下的文件了,如果没有servlet,那么就是src下的默认包了,你可以试一下,直接在src下建个Java文件,看看其他包的能不能访问?明白我的意思了吗?可以这样修改,在classes下建个文件夹servlet,然后把LoginServlet.java放进去,然后修改配置路径为:<servlet> <servlet-name>login</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet>
感谢! 这个问题应该是解决了。
试建立了一个servlets文件夹,是能够找到LoginServlet.class。但那是 我把loginServlet 和 UserBean 放在servlets 下一起编译起来的。登陆的时候又出了问题。
如果是 我先 javac -d . UserBean.java. 生成一个bean文件夹,里面有UserBean.class 再编译 LoginServlet.java 说就找不到这个bean文件,要我导入。可我在LoginServlet.java 里已经写进去了。 这个该怎么编译啊2010年4月14日 20:59
5个答案 按时间排序 按投票排序
-
采纳的答案
你可以将这个servlet包下的文件一起编译呀,给你个连接http://www.360doc.com/content/10/0401/00/626267_21103753.shtml
你自己去看一下,会有帮助的,而且关于这些百度上很多的。。。2010年4月16日 13:02
-
你的项目发布到服务器上之后,会被放在classes中没错,你可以看一下,如果你的src下有个包servlet,那么发布之后就是web-inf/classes/servlet下的文件了,如果没有servlet,那么就是src下的默认包了,你可以试一下,直接在src下建个Java文件,看看其他包的能不能访问?明白我的意思了吗?可以这样修改,在classes下建个文件夹servlet,然后把LoginServlet.java放进去,然后修改配置路径为
:<servlet> <servlet-name>login</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet>
2010年4月16日 08:56
-
从你的站点路径来看,你的LoginServlet.java应该是被你直接放在了src下了,这时他是在默认包里面的,是访问不到的。你建个包让后把它放进去。。。
2010年4月15日 15:29
-
servlet配置有问题。从你的项目目录看,你的LoginServlet处于根目录下。那么你的servlet也必须写成
<servlet> <servlet-name>login</servlet-name> <servlet-class>LoginServlet</servlet-class> /*去掉servlet*/ </servlet>
2010年4月15日 10:43
-
仔细检查一下你的Web.xml中Servlet的配置是否正确,还有页面访问时用的是<servlet-name>中配置的字符串。
2010年4月15日 09:07
相关推荐
**JSP和Servlet基础知识详解** ...理解并掌握这些基本概念对于JSPServlet新手来说至关重要,它们构成了开发Web应用的基础。在实际开发中,根据需求选择合适的方法,可以构建高效、功能丰富的Web应用。
通过学习"web基础JDBC+Servlet+jsp",新手能够建立起对Java Web开发的基本理解,为进一步深入学习Spring、Hibernate、Struts等框架打下坚实的基础。遇到不懂的问题,记得及时提问,不断实践和探索,你会发现编程的...
【JavaWeb图书管理系统】是一个基于Java技术的Web应用程序,它主要使用了Servlet、JSP和JavaBean这三种核心技术,特别适合初学者进行学习和实践。这个系统为用户提供了一个方便的平台,可以进行图书的借阅、归还、...
通过这个“JSP+Servlet+Ajax网上书城”项目,新手可以学习到Web开发的基本流程,包括前端交互、后端处理、数据库操作和安全性考虑。同时,实践中遇到的问题和解决方案也会加深对这些技术的理解,为今后的Web开发打下...
对于初学者而言,这个项目不仅可以帮助他们理解JSP和Servlet的协同工作原理,还能学习到如何使用MySQL进行数据管理,以及MVC模式在实际项目中的应用。 总结来说,"JSP Servlet通用学生管理系统"是一个集成了JSP、...
- **全面覆盖**:书中不仅包含了Servlet和JSP的基础知识,还涉及了高级主题,如会话管理、过滤器、监听器等。 - **实践导向**:通过大量的实例和练习,读者可以在实际操作中巩固所学知识。 - **趣味性**:通过幽默的...
8. **MVC模式**:虽然JSP和Servlet的组合不完全符合MVC(Model-View-Controller)架构,但可以理解为Servlet作为Controller,JSP作为View,而模型部分可能由JavaBeans或者DAO(Data Access Object)类实现。...
常见问题包括初始化参数配置错误、未正确处理请求或响应对象,以及对JSP到Servlet转换过程的误解。 6. **会话管理**: 在JSP中处理用户会话是常见的需求,但不当的会话管理可能导致内存泄漏、安全性问题或会话过期...
编译阶段将JSP转换为Java Servlet,然后被加载到内存中,初始化后即可处理客户端请求,提供服务,最后在服务器关闭时销毁。 3. **JSP指令**: 包括`<%@ page %>`, `<%@ include %>`, 和`<%@ taglib %>`。`...
- **POST**: 参数不显示在URL中,安全性较高,适合大量数据。 2. **Response对象** - **定义**: 用于构建和控制HTTP响应的`HttpServletResponse`对象。 - **作用**: 控制响应的内容类型、状态码、输出流等。 - ...
多位IT专业人士和教育者对《JSP servlet HEAD FIRST》给予了极高的评价,认为它不仅是一本优秀的教科书,更是一个引导新手快速入门的强大工具。例如,Jef Cumps提到,该书不仅使他大笑,还在考试中取得了97%的高分;...
- **Forward导致找不到图片**:确保图片资源的正确加载。 - **Redirect**:客户端重定向,相当于新发起一个请求。 - **Forward和Redirect的问题**:比较两者的优缺点,选择合适的跳转方式。 #### 第4章 四个作用...
JSP容器会根据JSP中的指令和脚本元素生成对应的Servlet源码,然后编译执行。在这个过程中,我们可以使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)简化页面逻辑。EL用于在JSP页面中...
另外,书中也会讲解到Servlet和JSP的相关API,如HttpServletRequest、HttpServletResponse、ServletContext等,以及如何使用过滤器(Filter)和监听器(Listener)进行更高级的控制。过滤器可以拦截请求和响应,执行...
本项目是基于jsp-servlet技术实现的客户关系管理(Customer Relationship Management,简称CRM)系统,旨在帮助新手开发者熟悉Web应用开发的基本流程和技术栈。JSP(JavaServer Pages)是一种动态网页技术,它允许在...
第一次用jsp写东西,在webroot子文件夹下写jsp,当提交到Servlet时报404错误,老以为是子文件的问题,其实不是。事实是同学把这段代码给我删了,jsp文件无法找到根目录, 代码如下: <% String path = request...
- 请求转发(RequestDispatcher的forward()方法):在服务器端完成,用户感知不到URL变化。 - 重定向(HttpServletResponse的sendRedirect()方法):客户端收到响应后发起新的请求,URL可见。 8. **JSP视图技术**...
总之,“基于Servlet + JSP实现的简易图书管理系统”是一个综合性的Web应用项目,它涉及到了Web开发中的核心技术和最佳实践,对于提升开发者在Java Web领域的技能具有重要价值。无论是新手还是有一定经验的开发者,...
本教程覆盖了从JSP的基础概念到高级应用的全方位内容,旨在让初学者能够快速上手,同时也能满足有经验的开发者进一步提升技能的需求。 JSP是Sun Microsystems(现为Oracle公司)推出的一种动态网页技术,它将HTML、...
防止"表单重复提交"是Web开发中的一个重要问题,因为它可能导致数据的不一致。一种常见的解决方案是在服务器端维护一个令牌(token)系统。当用户提交表单时,服务器会生成一个唯一的令牌并将其存储在服务器的会话...