zoukankan      html  css  js  c++  java
  • JavaWeb学习笔记——开发动态WEB资源(一)Java程序向浏览器输出数据

    开发一个动态web资源,即开发一个Java程序向浏览器输出数据,需要完成以下2个步骤:

      1.编写一个Java类,实现Servlet接口

        开发一个动态web资源必须实现javax.servlet.Servlet接口,Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定

        以下是MyServlet.java文件中的代码(写的这个类的名字叫做MyServlet):

    package org.MyServlet.MyServlet;
    
    import java.io.IOException;
    
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    //开发一个动态web资源必须实现javax.servlet.Servlet接口
    //Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定
    
    //Q:MyServlet完成了一个动态网页程序,或者说是一个功能,如何让客户端能否准确得找到我们得这个Servlet服务
    //A:服务器需要预先为我们预留出扩展接口,我们只需要按照一定的规则去提供相应的扩展功能
    
    //Q:如何和服务器进行通讯
    //A:web.xml就是服务器提供给我们的完成功能的地方
    public class MyServlet implements Servlet{
    
        @Override
        public void destroy() {
            // TODO Auto-generated method stub
            
        }
    
        @Override
        public ServletConfig getServletConfig() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public String getServletInfo() {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public void init(ServletConfig arg0) throws ServletException {
            // TODO Auto-generated method stub
            
        }
    
        //所有客户端请求会自动调用Service方法进行处理
        //ServletRequest    是一个对象,封装所有HTTP请求信息
        //ServletResponse    是一个对象,封装所有HTTP响应信息
        //这两个对象是Tomcat服务器给我们的
        @Override
        public void service(ServletRequest arg0, ServletResponse arg1)
                throws ServletException, IOException {
            // TODO Auto-generated method stub
            
            System.out.println("执行 MyServlet 的 service() 方法。。。。。");
        }
    
    }

        关于其中的Service方法的一些Tip:  

          //所有客户端请求会自动调用Service方法进行处理
          //ServletRequest 是一个对象,封装所有HTTP请求信息
          //ServletResponse 是一个对象,封装所有HTTP响应信息
          //这两个对象是Tomcat服务器给我们的

          此外,如果是只实现service方法,则称为适配器模式

        以下是web.xml文件中的代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
    <display-name>MyServlet</display-name>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    //定义一个Servlet服务
    //Servlet服务的名字叫做aaa
    <servlet>
    <servlet-name>aaa</servlet-name>
    <servlet-class>org.MyServlet.MyServlet.MyServlet</servlet-class>
    </servlet>

    //定义一个Servlet服务的映射关系
    //Servlet服务的名字叫做aaa
    //请求的路径是/myServlet.do

    //1.服务器启动模式加载webapps下面所有的应用,加载web应用的时候会读取每个应用的web。xml文件
    //2.客户单发送请求http://127.0.0.1:8080/MyServlet/myServlet.do
    //3.请求就找到http://127.0.0.1:8080,找到MyServlet(Context)
    //去mapping里面查找/myServlet.do,如果找到,定位到<servlet-name>aaa</servlet-name>
    //4.去Servlet的定义里面查找Servlet-name是aaa的Servlet服务
    //然后定位到org.MyServlet.MyServlet.MyServlet,执行该class的service方法
    <servlet-mapping>
    <servlet-name>aaa</servlet-name>
    <url-pattern>/myServlet.do</url-pattern>
    </servlet-mapping>
    </web-app>

       然后在浏览器中输入http://127.0.0.1:8080/MyServlet/myServlet.do

      便可以在Tomcat中看到

        执行 MyServlet 的 service() 方法。。。。。

      2.把开发好的Java类部署到web服务器中

  • 相关阅读:
    capwap学习笔记——初识capwap(一)(转)
    capwap学习笔记——capwap的前世今生(转)
    实现一个简单的C++协程库
    c++ 异常处理(1)
    一个浮点数计算的问题
    c++11 中的 move 与 forward
    c++中的左值与右值
    说说尾递归
    boost bind及function的简单实现
    [译] 玩转ptrace (一)
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/4607256.html
Copyright © 2011-2022 走看看