zoukankan      html  css  js  c++  java
  • JavaWeb:基础 servlet 服务搭建

    6、Servlet

    6.1、Servlet简介

    • Servlet就是sun公司开发动态web的一门技术
    • Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小步骤。
      • 编写一个类,实现Servlet接口
      • 把开发好的java类部署到web 服务器中

    把实现了Servlet接口的Java程序叫做,Servlet

    6.2、HelloServlet

    Servlet接口sun公司有两个默认的实现类:HttpServlet,

    1. 构建一个普通的Maven项目,删掉里面的src目录,以后我们学习就在这个项目里建立Moudel;这个空的工程就是Maven主工程;

    2. 关于Maven父子工程的理解:

      父项目中会有

          <name>javaweb-01-maven</name>
          <modules>
              <module>servlet-01</module>
          </modules>
      
      

      子项目中会有

          <parent>
              <artifactId>javaweb-01-maven</artifactId>
              <groupId>com.kutsu</groupId>
              <version>1.0-SNAPSHOT</version>
          </parent>
      
      

      父项目中的java子项目可以直接使用

      son extends father
      
    3. Maven 环境优化

      1. 修改 web.xml 为最新的

        <?xml version="1.0" encoding="UTF-8"?>
        
        <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                              http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
                 version="4.0">
        
            <servlet>
                <servlet-name>hellos</servlet-name>
                <servlet-class>com.ku.servlet.helloworldSerlvet</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>hellos</servlet-name>
                <url-pattern>/urls</url-pattern>
            </servlet-mapping>
        
        </web-app>
        
      2. 将maven的结构搭建完整,导入 servlet 相关的包

            <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>servlet-api</artifactId>
              <version>2.5</version>
            </dependency>
            <dependency>
              <groupId>javax.servlet.jsp</groupId>
              <artifactId>jsp-api</artifactId>
              <version>2.2</version>
            </dependency>
            <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>jstl</artifactId>
              <version>1.2</version>
            </dependency>
        
    4. 编写一个Servlet程序

      1. 编写一个普通类

      2. 实现Servlet接口,这里我们直接继承 HttpServlet

        import java.io.*;
        import javax.servlet.*;
        import javax.servlet.http.*;
        
        public class HelloServlet extends HttpServlet {
        
            //由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样
            @Override
            protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                response.setContentType("text/html");
                response.setCharacterEncoding("utf-8");
                PrintWriter out = response.getWriter();
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Hello World!</title>");
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Hello World!你好</h1>");
                out.println("</body>");
                out.println("</html>");
            }
            @Override
            protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                super.doPost(req, resp);
            }
        }
        
    5. 编写Servlet的映射

      为什么需要映射:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需给他一个浏览器访问的路径

          <servlet>
              <servlet-name>hello1</servlet-name>
              <servlet-class>com.qq.servlet.HelloServlet</servlet-class>
          </servlet>
          <servlet-mapping>
              <servlet-name>hello1</servlet-name>
              <url-pattern>/he1</url-pattern>
          </servlet-mapping>
      
    6. 配置tomcat

      注意:配置项目发布的路径就可以了

    7. 启动测试

  • 相关阅读:
    02 微服务应用的认证与授权
    01 微服务架构中的服务发现作用以及两种协议的调用区别
    04 redis的数据结构与对象
    03 Spring的事务管理的基本使用
    02 Spring的AOP的基础概念与简单使用
    k8s环境部署
    elk安装
    实现AD域验证登录--
    linux SSH各配置项解释
    Linux学习之SAMBA共享(密码验证)
  • 原文地址:https://www.cnblogs.com/kutsu/p/14071456.html
Copyright © 2011-2022 走看看