赞
踩
运行环境:1、eclipse:Version: Oxygen.2 Release (4.7.2)
2、jdk8
3、tomcat9.0.0
4、servlet3.1
出现问题:问题一、
问题二、Catalina.stop: java.net.ConnectException: Connection refused
问题原因:问题一、
出现404错误,图中message没有提示(有提示按提示解决),最终发现是class文件的路径问题。
在上述运行环境下,在建立工程时,系统默认将servlet的java程序编译后的class文件放置于
build文件夹下的classes文件夹中。
而使用配置WEB-INF下的web.xml文件方法运行servlet时,必须保证WEB-INF下存在三个文件或
文件夹:web.xml(配置文件)、classes文件夹(用于存放servlet的class文件)、lib文件夹(用到的
jar包)。
此处若是新建的工程,只有空的lib文件夹和未配置的xml文件,必须手动创建classes文件夹,
修改默认存储class路径,配置xml文件。
问题二、
粗浅理解:端口被占用,可能是运行eclipse的servlet时打算开启多个服务器,关闭已开启的服务器
或关闭eclipse重新启动。
解决方案:问题一、方案一(使用注解、快捷方便)
在上述运行环境中,创建servlet过程中,会自动生成配置注解,所以无需改动默认的xml文件,
也不用改动class文件的存储路径(默认在build目录下的classes文件夹中)。可直接run on server。
问题一、方案二(使用xml配置,改变class文件存储路径):
1、在WEB-INF目录下新建名为"classes"文件夹;
2、在工程右键选择Build Path-->Configure Build Path-->Source:Default output
folder-->选择WEB-INF下的classes文件夹;
3、配置xml文件:(默认如下)
添加:
- <servlet>
- <servlet-name>HWtest</servlet-name>
- <servlet-class>test01.HelloWorldTest</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>HWtest</servlet-name>
- <url-pattern>/HelloWorld</url-pattern>
- </servlet-mapping>
其中servlet-name由自己命名。
servlet-class为servlet的class文件存储地址,此时默认是在WEB-INF下的classes文件夹中,注意
"包名+类名"!
servlet-mapping为使用浏览器访问时的地址,使用eclipse工具可自动跳转至该页面。
添加后:
4、run as-->run on server
问题二:见问题原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。