• java服务器端开发-servlet:1_2_1、如何开发一个servlet,实战写一个servlet


    文章目录

     3、在MyEclipse工具开发第一个Servlet

    step1,启动myeclipse,让myeclipse配置管理tomcat

    step2,建立一个web工程

    (1)写一个HelloServlet类

    (2)配置web.xml

    (3)在 myEclipse 打印控制台找到 Servers,启动 tomact 容器

    (4)部署 web 项目

    (5)查看运行效果

    4、注意点

    (1)自动生成  Servers 文件

    (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类

    1. package t02_写第一个Servlet;
    2. import java.io.IOException;
    3. import java.io.PrintWriter;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.http.HttpServlet;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. /**
    9. * 写一个简单的Servlet
    10. * @UpdateTime:2011年02月28日 下午17:30:00
    11. * @ProjectName: web01
    12. * @ClassName:HelloServlet
    13. * @CategoryName:java类
    14. * @author:luminal、邮箱 luminal_yyh@163.com
    15. * @since 1.0
    16. * @Description:(可以在这里描述这个类的作用)
    17. * 1、照着写代码,体会、解释执行过程
    18. * 2、继承HttpServlet、写service方法【固定格式,先照着写】
    19. * 3、Servlet配置、访问地址,在WebRoot/WEB-INF/web.xml文件里面
    20. * 4、Servlet执行过程介绍【见:博文 或 Doc( 文档 )】
    21. */
    22. public class HelloServlet extends HttpServlet{
    23. protected void service(HttpServletRequest request, HttpServletResponse response)
    24. throws ServletException, IOException {
    25. //step1:输出处理结果
    26. //通过response,设置一个消息头(content-type),
    27. //告诉浏览器,服务器返回的数据类型
    28. response.setContentType("text/html");
    29. //step2:通过response(响应对象)获得一个输出流
    30. PrintWriter out = response.getWriter();
    31. //step3:将处理结果数据缓存到response对象上
    32. //-->处理结果,打包发送给浏览器
    33. //-->浏览器拆包,生成页面【详见Servlet执行过程介绍】
    34. out.println("Hello Servlet");
    35. // out.println("
      Hello Servlet
      "
      );
    36. //关闭流
    37. out.close();
    38. }
    39. }

    (2)配置web.xml

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    5. version="3.1">
    6. <display-name>web01</display-name>
    7. <!--
    8. <servlet>
    9. <description>JAX-RS Tools Generated - Do not modify</description>
    10. <servlet-name>JAX-RS Servlet</servlet-name>
    11. <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    12. <load-on-startup>1</load-on-startup>
    13. </servlet>
    14. <servlet-mapping>
    15. <servlet-name>JAX-RS Servlet</servlet-name>
    16. <url-pattern>/jaxrs/*</url-pattern>
    17. </servlet-mapping> -->
    18. <!--
    19. <servlet>
    20. <servlet-name>自定义名</servlet-name>
    21. <servlet-class>包名.类名</servlet-class>
    22. </servlet>
    23. <servlet-mapping>
    24. <servlet-name>自定义名</servlet-name>
    25. <url-pattern>/自定义名</url-pattern>
    26. </servlet-mapping>
    27. // 访问地址:
    28. // http://localhost:8080/项目名/ 【WebRoot\WEB-INF\web.xml里面的<url-pattern>” 】对应的名字
    29. // http://localhost:8080/web01/hello
    30. -->
    31. <servlet>
    32. <servlet-name>xxx</servlet-name>
    33. <!-- 包名里面有汉字和下划线,不会报错 -->
    34. <servlet-class>t02_写第一个Servlet.HelloServlet</servlet-class>
    35. </servlet>
    36. <servlet-mapping>
    37. <servlet-name>xxx</servlet-name>
    38. <url-pattern>/hello</url-pattern>
    39. </servlet-mapping>
    40. </web-app>

    (3)在 myEclipse 打印控制台找到 Servers,启动 tomact 容器

             

    或者你这样启动 tomact 也行

    (4)部署 web 项目

    或者你这样部署 web 项目 也行

            

    finish,ok,部署完以后,查看 Console

    1. 二月 27, 2020 1:34:51 下午 org.apache.catalina.startup.HostConfig deployDirectory
    2. 信息: Deploying web application directory /Users/luminal/Documents/LuminalCode/Luminal_Java/t03_Web_Servlet_JSP_Jquery_Ajax/code/.metadata/.me_tcat85/webapps/web01
    3. 二月 27, 2020 1:34:53 下午 org.apache.jasper.servlet.TldScanner scanJars
    4. 信息: 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.
    5. 二月 27, 2020 1:34:53 下午 org.apache.catalina.startup.HostConfig deployDirectory
    6. 信息: Deployment of web application directory
    7. /Users/luminal/Documents/LuminalCode/Luminal_Java/t03_Web_Servlet_JSP_Jquery_Ajax/code
    8. /.metadata/.me_tcat85/webapps/web01
    9. has finished in 1,487 ms

    部署成功,我们看最后一条信息即可,它的大概意思:

    部署web应用项目到目录xxxxxxx下已完成,耗时1478毫秒 

    部署失败,一般会有错误提示

    (5)查看运行效果

    //  访问地址:
    //  http://localhost:8080/项目名/ 【WebRoot\WEB-INF\web.xml里面的” 】对应的名字
    //  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

  • 相关阅读:
    WPF程序给按钮增加不同状态的图片
    C++基础——类与对象
    docker删除镜像和容器
    优思学院|单件流为什么是精益生产管理的理想状态?
    Jackson ObjectMapper activateDefaultTyping 中 JsonTypeInfo 的作用
    [论文精读|博士论文]面向文本数据的关系抽取关键技术研究
    饿了么三面:让你怀疑人生的Spring Boot夺命连环40问
    提前进入行业顶尖阵营:高性能计算实习的竞争优势
    PSINS中19维组合导航模块sinsgps详解(时间同步部分)
    Rust中的结构体
  • 原文地址:https://blog.csdn.net/YuDBL/article/details/126576422