最近在看一本jsp基础教程,在看到servlet时,由于想弄懂就没有借助开发工具,手写代码。把书上的列子通过ultraedit写好了后编译,发现出现了错误,经过百度搜索,发现是没有servlet的api。我在网上找到了一些解决方法,刚开始没仔细看,就看了第一个也是容易的解决方案,就是在javac后面带-classpath参数。我就照葫芦画瓢,我把servlet-api.jar文件复制到该文件夹下,就用了 javac -classpath servlet-api.jar *.java,果然没出错,发现了class文件。当时没细想。到后来又看到mvc模式这章时,servlet调用javabean,书上的例子中有import和package等等,我就按照他的,目录和他说的一样,编译出错,竟然出了找不到符号(javabean)。看了又看代码,和出的错误提示,我就把import和package语句都注释掉,放在同一个目录下,并把servlet-api.jar也复制到这一目录下,cmd下用javac -classpath servlet-api.jar *.java文件,还是出错,而且和没有注释掉前的错误一样,这我就郁闷了。我左想右想,看到网上有人回答类似的问题是jdk崩溃了。为了验证我就写了个调用javabean的小程序测试了一下,发现没有问题。我就又回到了怎么编译servlet问题上。这回仔细看了人家的博客,看到了那三个解决方案,那三个解决方案如下:
解决方案(三种方法):
1.为Classpath环境变量添加下面一段文字 ;D:\apache-tomcat-6.0.16\lib\servlet-api.jar
2.在命令行编译的时候带上classpath的路径如下:
javac -classpath D:\apache-tomcat-6.0.16\lib\servlet-api.jar BeerSelect.java
3.将D:\apache-tomcat-6.0.16\lib\目录下的Servlet-api.jar文件拷贝一份到jdk安装目录下的jre/lib/ext/下面。
我就试了下第三种方案,把servlet-api.jar复制到ext文件夹下。这次直接javac *.java 没有出错。这就让我想到第一种方法中参数-classpath的含义。经过网上搜索,发现这参数是指定查找用户需要的类文件(自定义的类和classpath环境变量下没有的)。终于把这个问题解决了。
- 大小: 106.5 KB
分享到:
相关推荐
- 打开命令行,进入`MyServlet.java`所在目录,使用`javac`命令编译源文件: ```bash javac -cp ";path/to/servlet-api.jar" MyServlet.java ``` - 这里的`path/to/servlet-api.jar`应替换为Servlet API JAR的...
首先,我们需要一个Java开发环境,比如Java Development Kit (JDK),它包含了编译Java代码所需的javac命令。确保已安装并配置好JDK,然后可以开始处理项目结构。在提供的文件列表中,"WEB-INF"是一个关键目录,它在...
总结来说,这个项目展示了Java动态编译的实用性和灵活性,通过结合JSP、Servlet和Java的动态编译功能,可以在Web应用中实现代码的实时编辑和执行。这种技术在教育、实验环境或者需要快速迭代和测试的场景下尤其有用...
Servlet是Java Web开发中的核心组件,它用于处理和响应HTTP请求。反编译Servlet源码可以帮助我们深入理解其内部工作原理,这对于优化性能、调试问题或进行自定义扩展非常有帮助。下面,我们将深入探讨Servlet的基本...
在 Java 编译和运行时,我们可以使用/javac 和 java 命令来编译和运行 Java 代码。在这两个命令中,我们可以使用-classpath 和 -cp 选项来指定类搜索路径。那么,这两个选项有什么区别呢? 实际上,-classpath 和 -...
- 使用`javac`命令编译Java源文件,生成`.class`字节码文件。例如: ``` javac TestServlet.java ``` #### 三、部署Servlet 1. **创建项目目录结构** 在Tomcat的Web服务目录下创建项目目录`testservlet`,并...
NULL 博文链接:https://xjg396.iteye.com/blog/1973026
1. **servlet-api.jar**:这是Java Servlet API的核心库,包含了Servlet接口和Filter接口的定义,以及与之相关的类和接口。它定义了服务器如何与Servlet通信的标准,使得开发者可以编写与服务器无关的Servlet代码。 ...
2. 使用`javac`命令编译Java源代码,理解字节码(.class文件)的概念。 3. 运行Java应用程序,掌握`java`命令的用法。 4. 探索JDK提供的其他工具,如`javadoc`(生成API文档)和`jar`(打包和管理类库)。 5. 学习...
- JSP文件在首次访问时会被Web容器转换为Servlet类,然后编译执行。 通过学习这些知识点,开发者可以熟练掌握使用Servlet进行Java Web开发,构建高效、稳定的Web应用程序。在实际项目中,还需要结合其他技术如JSP...
JavaServlet帮助文档中的CHM文件是一个编译过的HTML帮助文档,它包含详细的API参考、教程、示例代码和常见问题解答,是开发者学习和查阅Servlet技术的重要资源。利用其内置的搜索功能,开发者可以快速找到所需的信息...
Java开发指南-Servlet和JSP篇,主要涵盖了Java Web开发中的两大核心组件:Servlet和JSP(JavaServer Pages)。这两个技术是构建动态Web应用程序的基础,广泛应用于企业级应用开发。 Servlet是Java编程语言中用于...
在这个项目中,Eclipse被用来编写、编译、调试和部署Servlet和JSP代码。 6. **JAR包**:项目中可能包含了一些外部的JAR库,例如JDBC驱动(用于连接MySQL)、Servlet API和其他帮助处理特定任务的库。这些JAR包被...
- 使用Java编译器(如javac)编译Servlet源代码。 - 将编译后的.class文件放置在Servlet容器的webapps目录下的某个Web应用目录内。 - 配置Servlet容器的web.xml文件,声明Servlet类及其URL映射。 #### 三、通过JSP...
JSP和Servlet之间的主要区别在于它们的角色和使用方式。JSP主要用于展示视图,它的优势在于将HTML和Java代码分离,使得页面设计更为直观。而Servlet则专注于业务逻辑和数据处理。尽管JSP看起来更像HTML,但其本质...
* Servlet 的开发步骤包括编写、编译、部署和运行。 * Servlet 的生命周期包括创建实例、初始化阶段、服务阶段和实例销毁阶段。 3. Java Web 应用的开发和部署:包括使用 MyEclipse 工具来开发一个 web 应用,了解 ...
本资源“Java Servlet Development Kit 2.3 Documentation”由F.Allimant编译,包含了关于Servlet 2.3版本的详细帮助文档,对于理解、学习和开发Servlet应用具有重要价值。 Servlet API主要包含以下几个关键部分: ...
"java web Servlet" Java Web Servlet 是一种基于 Java 语言的服务器小应用程序,主要用于处理客户端请求的响应处理。Servlet 是一个独立的平台,具有良好的性能和多线程运行能力。 Servlet 的主要特点是: * ...
Servlet容器(如Web服务器)管理Servlet的生命周期,而JSP容器处理JSP的编译和渲染。两者可以通过Servlet容器中的配置文件(如`web.xml`)进行协同工作。 在J2EE(Java 2 Platform, Enterprise Edition)环境中,...
总结来说,JSP到Servlet的过程包括JSP预编译、Java源码编译和.jar文件打包。这个过程对于开发者理解JSP的工作原理、调试以及部署都是非常重要的。通过反编译和打包,我们可以更好地管理和维护基于JSP的Web应用程序,...