用javac编译servlet类出现问题

  本人写了一个关于servlet的webapp,但是在用javac编译的时候,只是单纯的将jsp-api.jar和servlet-api.jar拷贝放在了其目录下面,然后利用命令行 javac XXX.java开始编译,然后出现了一大堆错误,如下:

FirstServlet.java:7: 错误: 找不到符号public class FirstServlet extends HttpServlet                                  ^  符号: 类 HttpServletFirstServlet.java:9: 错误: 找不到符号        public void service(HttpServletRequestnse)throws ServletException,java.io.IOException                            ^  符号:   类 HttpServletRequest  位置: 类 FirstServletFirstServlet.java:9: 错误: 找不到符号        public void service(HttpServletRequestnse)throws ServletException,java.io.IOException

  符号:   类 HttpServletResponse  位置: 类 FirstServletFirstServlet.java:9: 错误: 找不到符号        public void service(HttpServletRequestnse)throws ServletException,java.io.IOException

           ^  符号:   类 ServletException  位置: 类 FirstServletFirstServlet.java:29: 错误: 找不到符号        out.pritnln("你的名字:"+name+"<br/>");           ^  符号:   方法 pritnln(String)  位置: 类型为PrintStream的变量 out

后来终于找到了解决该问题的方法,解决方法如下:

把servlet-api.jar文件复制到该文件夹下,就用了 javac -classpath servlet-api.jar *.java,果然没出错,发现了class文件。

时间: 2024-10-15 02:33:05

用javac编译servlet类出现问题的相关文章

javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题

javac编译成功,用java运行class文件出现"找不到或无法加载主类" 的问题所在很简单 入门就遇到这样的问题,环境变量按网上说的配好了,直接java 和 javac都有提示出来,说明没问题了, 做了一个简单java,放在e盘根目录下,在c:下操作javac该java文件成功了,但用java 该class时却提示"找不到或无法加载主类" ,忙活了半天,找了些资料,发现其实很简单,不是语句错误,是路径问题classpath的问题. 主要是以下两点要注意: 1.在

javac编译出来的程序运行报错“错误: 找不到或无法加载主类”

使用javac编译java文件生成class文件 >javac HelloWorld.java执行class文件>java HelloWorld 原因: 含有包名 解决办法: 按照包的结构新建目录,在最外层目录编译javac net/newcapec/HelloWorld.java,然后执行java net.newcapec.HelloWorld 源码```package net.newcapec; /** * @author admin * */public class HelloWorld

Javac编译和JIT编译

编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程. 如今,基于物理机.虚拟机等的语言,大多都遵循这种基于现代经典编译原理的思路,在执行前先对程序源码进行词法解析和语法解析处理,把源码转化为抽象

【深入Java虚拟机】之七:Javac编译与JIT编译

转载请注明出处:http://blog.csdn.net/ns_code/article/details/18009455 编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程. 如今,基于物理机

javac 编译与 JIT 编译

编译过程 不论是物理机还是虚拟机,大部分的程序代码从开始编译到最终转化成物理机的目标代码或虚拟机能执行的指令集之前,都会按照如下图所示的各个步骤进行: 其中绿色的模块可以选择性实现.很容易看出,上图中间的那条分支是解释执行的过程(即一条字节码一条字节码地解释执行,如 JavaScript),而下面的那条分支就是传统编译原理中从源代码到目标机器代码的生成过程. 如今,基于物理机.虚拟机等的语言,大多都遵循这种基于现代经典编译原理的思路,在执行前先对程序源码进行词法解析和语法解析处理,把源码转化为抽

java和javac编译运行java程序

目录 目录 前言 编译命令介绍 javac java 代码编译与运行 java类发现规则 分离class和java文件 参考链接 前言 给自己定了一个月学习JVM虚拟机的计划,不管有没有卵用,学点新东西总是好的. 但是在学习过程中,我想在命令行测试一些JVM参数的时候,发现自己脱离了IDE,竟然无法直接编译java程序!! 我的原则不能抱怨太多,像个Loser,不会的就花时间补回来. 下面,主要是总结一些如何在命令行中编译java程序.主要是想记录总结一下java的类发现原则. 编译命令介绍 其

javac编译过程

编译器把一种语言规范转化为另一种语言规范的这个过程需要哪些步骤: (1) 词法分析:读取源代码,一个字节一个字节的读进来,找出这些词法中哪些是我们定义的语言关键词如:if  else where 等 识别哪些if是合法的哪些是不合法的. 词法分析的结果:就是从源代码中找出一些规范化的token流,就像人类语言中,给你一句话你要分辨出哪些是一个词语,哪些是标点符号,哪些是动词,哪些是名词. (2) 语法分析:就是在词法分析中得到的token流进行语言分析,这一步就是检查这些关键词组合在一起是不是符

JAVAC 编译JAVA文件

1.编译带有包声明的JAVA类 package aa; public class B { public static void main(String[] args) { System.out.println("f"); } } 用JAVAC编译完这个文件时,如果直接用java B 来执行的话,会报错 Exception in thread "main" java.lang.NoClassDefFoundError: B (wrong name: aa/B) at

javac编译原理

java源代码(符合语言规范)-->javac-->.class(二进制文件)-->jvm-->机器语言(不同平台不同种类) 如何让java的语法规则适应java虚拟机的语法规则?这个任务由javac编译器来完成java语言规范转换成java虚拟机语言规范. 编译流程: 流程: 词法分析器:将源码转换为Token流 将源代码划分成一个个Token(找出java语言中的if,else,for等关键字) 语法分析器:将Token流转化为语法树 将上述的一个个Token组成一句句话(或者