zoukankan      html  css  js  c++  java
  • 服务器学习笔记之servlet

    初衷

    想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud。在此当做学习笔记。

    本文开发环境是IDEA正式版。

    概念

    servlet本质是一个java接口,这个接口定义了处理网络请求的一组规范或需求描述。

    servlet容器将请求分发给servlet,由特定的servlet处理请求。

    常见的servlet容器如Tomact。

    主要方法

    • init() :初始化servlet
    • service() :处理客户端请求
    • destroy() :终止servlet(servlet由JVM进行垃圾回收)

    servlet实例

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    @WebServlet("/MyServlet")
    public class MyServlet extends HttpServlet {
    
        private String message;
    
        public void init() throws ServletException {
            message="Hello World";
        }
    
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setContentType("text/html;charset=UTF-8");
            PrintWriter writer=resp.getWriter();
            writer.println("<h2 style='color:red'>"+message+"</h2>");
        }
    
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doGet(req,resp);
        }
    
        @Override
        public void destroy() {
            super.destroy();
        }
    }

    说明:

    • 我们的api中已经有两个实现好servlet接口的类,分别是HttpServlet和GenericServlet,通常自己只需要继承HttpServlet类即可。
    • @WebServlet注解用来标注URL和servlet的映射。(还有一种配置方法是在web.xml中配置servlet,请看下面说明)
    • PrinterWriter是字符类型的打印输出流,继承于Writer。

    在web.xml中配置servlet

    <!--配置servlet-->
      <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.gree.servlet.MyServlet</servlet-class>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
      </servlet-mapping>

    说明:

    • servlet-name:要注册的servlet名称。
    • servlet-class:指向要注册的servlet类的地址,包名加类名。
    • url-pattern:配置注册的servlet组件的访问路径。
    • 注意上下两个servlet-name要一致。

    以上是一个servlet最简单的例子,但仅仅是关于servlet。

    贴上两个优秀的手把手建web项目指导帖,大家可以参考下,人家写的很详细我就不重复了。有不懂的问题欢迎私信,一起学习啊~

    idea搭建web工程帖:https://www.cnblogs.com/Sinte-Beuve/p/5730553.html

    web工程详细配置帖:https://www.cnblogs.com/deng-cc/p/6416332.html

  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/hongdiandian/p/9146348.html
Copyright © 2011-2022 走看看