zoukankan      html  css  js  c++  java
  • Servlet基础-手工编写第一个servlet

    【手工编写第一个servlet

    image

    【步骤】

    1.继承HttpServlet

    2.重写doGet()或者doPost()方法  //这个doGet或者doPost方法取决用户提交的方式

    3.在web.xml中注册servlet

    【实现】

    1.index.jsp

    <body>
        <h1>第一个servlet小例子</h1>
        <hr>
            <a href="servlet/HelloServlet">通过doGet得到servlet</a>
            <form action="servlet/HelloServlet" method="post">
                <input type="submit" value="通过doPost得到servlet"/>
            </form>
      </body>

    2.servlet/HelloServlet

    package 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;
    
    public class HelloServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("处理doGet()方法......");
            PrintWriter out=response.getWriter();  //获取在浏览器输出的对象
            response.setContentType("text/html;charset=utf-8");  //按照样式输出html的格式
            out.println("<strong>HelloServlet</strong>");
        }
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("处理doPost()方法......");
            PrintWriter out=response.getWriter();  //获取在浏览器输出的对象
            response.setContentType("text/html;charset=utf-8");  //按照样式输出html的格式
            out.println("<strong>HelloServlet</strong>");
        }
    }

    3.配置WEB-INF/web.xml

    <servlet>
          <servlet-name>HelloServlet</servlet-name>
          <servlet-class>servlet.HelloServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>HelloServlet</servlet-name>
          <url-pattern>/servlet/HelloServlet</url-pattern>
      </servlet-mapping>

    【分析】

    1.在书写java代码的时候需要继承HttpServlet

    2.在实现doPost或者doGet方法的时候一定要删除(见下图),否则你的页面将不会显示内容

    image

    3.在web.xml文件中

    image

    这两条语句的name必须相同,否则你的console控制台将会报错

    4.运行原理分析:页面中的href中的链接为“servlet/HelloServlet”,首先进入<servlet-mapping>,找到虚拟路径,然后通过name找到<servlet>----><servlet-name>----><servlet-class>

  • 相关阅读:
    Gym
    HDU 4087 ALetter to Programmers (三维坐标旋转 矩阵 + 矩阵快速幂)
    POJ 3845 Fractal (向量旋转,好题)
    HDU 1700 Points on Cycle (向量旋转 + 圆内接三角形周长和面积最大的是正三角形)
    POJ 1271 Nice Milk (半平面交应用)
    POJ 2540 Hotter Colder (半平面交应用 + 向量旋转)
    luoguP3705 [SDOI2017]新生舞会
    luoguP4123 [CQOI2016]不同的最小割
    luoguP2046 [NOI2010]海拔
    luoguP3227 [HNOI2013]切糕
  • 原文地址:https://www.cnblogs.com/boy1025/p/4374487.html
Copyright © 2011-2022 走看看