文章目录
step1,启动myeclipse,让myeclipse配置管理tomcat
(3)在 myEclipse 打印控制台找到 Servers,启动 tomact 容器
(2)报错:The ResourceConfig instance does not contain any root resource classes
3、在MyEclipse工具开发第一个Servlet
step1,启动myeclipse,让myeclipse配置管理tomcat
前提是你这三篇博文,你已经搞定:
MyEclipse2017安装:MyEclipse2017安装方法(Mac)
tomact安装:Apache Tomact安装和配置步骤详解(Mac)
MyEclipse2017配置tomact:MyEclipse配置apache Tomact步骤详解(Mac)
step2,建立一个web工程
如果是新建web工程,参见上面例子“建立一个web工程”就行,
这里直接在上一个例子中,新建一个包名类名
(1)写一个HelloServlet类
package t02_写第一个Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 写一个简单的Servlet
* @UpdateTime:2011年02月28日 下午17:30:00
* @ProjectName: web01
* @ClassName:HelloServlet
* @CategoryName:java类
* @author:luminal、邮箱 [email protected]
* @since 1.0
* @Description:(可以在这里描述这个类的作用)
* 1、照着写代码,体会、解释执行过程
* 2、继承HttpServlet、写service方法【固定格式,先照着写】
* 3、Servlet配置、访问地址,在WebRoot/WEB-INF/web.xml文件里面
* 4、Servlet执行过程介绍【见:博文 或 Doc( 文档 )】
*/
public class HelloServlet extends HttpServlet{
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//step1:输出处理结果
//通过response,设置一个消息头(content-type),
//告诉浏览器,服务器返回的数据类型
response.setContentType("text/html");
//step2:通过response(响应对象)获得一个输出流
PrintWriter out = response.getWriter();
//step3:将处理结果数据缓存到response对象上
//-->处理结果,打包发送给浏览器
//-->浏览器拆包,生成页面【详见Servlet执行过程介绍】
out.println("Hello Servlet");
// out.println("<div style='font-size:90px;font-style:italic;color:red;'>Hello Servlet</div>");
//关闭流
out.close();
}
}
(2)配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>web01</display-name>
<!--
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/jaxrs/*</url-pattern>
</servlet-mapping> -->
<!--
<servlet>
<servlet-name>自定义名</servlet-name>
<servlet-class>包名.类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>自定义名</servlet-name>
<url-pattern>/自定义名</url-pattern>
</servlet-mapping>
// 访问地址:
// http://localhost:8080/项目名/ 【WebRoot\WEB-INF\web.xml里面的<url-pattern>” 】对应的名字
// http://localhost:8080/web01/hello
-->
<servlet>
<servlet-name>xxx</servlet-name>
<!-- 包名里面有汉字和下划线,不会报错 -->
<servlet-class>t02_写第一个Servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xxx</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
(3)在 myEclipse 打印控制台找到 Servers,启动 tomact 容器
或者你这样启动 tomact 也行
(4)部署 web 项目
或者你这样部署 web 项目 也行
finish,ok,部署完以后,查看 Console
二月 27, 2020 1:34:51 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory /Users/luminal/Documents/LuminalCode/Luminal_Java/t03_Web_Servlet_JSP_Jquery_Ajax/code/.metadata/.me_tcat85/webapps/web01
二月 27, 2020 1:34:53 下午 org.apache.jasper.servlet.TldScanner scanJars
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
二月 27, 2020 1:34:53 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory
/Users/luminal/Documents/LuminalCode/Luminal_Java/t03_Web_Servlet_JSP_Jquery_Ajax/code
/.metadata/.me_tcat85/webapps/web01
has finished in 1,487 ms
部署成功,我们看最后一条信息即可,它的大概意思:
部署web应用项目到目录xxxxxxx下已完成,耗时1478毫秒
部署失败,一般会有错误提示
(5)查看运行效果
// 访问地址:
// http://localhost:8080/项目名/ 【WebRoot\WEB-INF\web.xml里面的<url-pattern>” 】对应的名字
// http://localhost:8080/web01/hello
在本地浏览器输入:http://localhost:8080/web01/hello
效果如下:
我的源代码:Java服务器开发(二)写第一个Servlet-Java文档类资源-CSDN下载
4、注意点
(1)自动生成 Servers 文件
myEclipse2017 貌似会在工作目录中自动生成一个 Servers 文件,这个我没有管它了,
就没有研究了,谁知道是什么鬼欢迎留言!
(2)报错:The ResourceConfig instance does not contain any root resource classes
可参考博文:The ResourceConfig instance does not contain any root resource classes