zoukankan      html  css  js  c++  java
  • JAVAWEB学习一 servlet入门

    Servlet是什么?

      Sevlet是一个JAVA类,只不过这个JAVA类是由服务器来调用的。在Servlet中处理来自于浏览器的Http请求(doGet,doPost等等)

    Servlet用来做什么?

      最简单的Servlet用来传递数据,并且产生响应。

    Interface Servlet

         在Servlet内的主要方法:

    void destroy() 销毁所有的资源
    ServletConfig getServletConfig() 初始化(数据库的链接等等)
    void service(ServletRequest req,ServletResponse res) 用service方法来传递“请求”和“响应”对象给实力的处理方法)

    使用一个class实现Servlet接口:

    package com.cs.helloworld;
    import java.io.IOException;
    import java.util.Enumeration;
    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class helloServlet implements Servlet {
        @Override
        public void destroy() {
            System.out.println("destroy");
        }
        @Override
        public ServletConfig getServletConfig() {
            System.out.println("getServletConfig");
            return null;
        }
        @Override
        public String getServletInfo() {
            System.out.println("getServletInfo");
            return null;
        }
        @Override
        public void init(ServletConfig Config) throws ServletException {
            System.out.println("init");
            
            //当前WEB应用的大管家。可以从中获取各个方面的信息
            ServletContext content = Config.getServletContext();
        
            //路径
            String path = content.getRealPath("\Day_01\error.jsp");
            System.out.println(path);
            
            //WEB应用的名称  getContentPath()
            //获取WEB应用的输入流 getResourceAsStream(String PATH)
            
            Enumeration<String> enu = content.getInitParameterNames();
            while(enu.hasMoreElements()){
                String pr = enu.nextElement();
                String pr_value = content.getInitParameter(pr);
                System.out.println("参数名称:"+pr+"参数值:"+pr_value);
            }
            
    //        Enumeration<String> enume = Config.getInitParameterNames();
    //        while(enume.hasMoreElements()){
    //            System.out.println(enume.nextElement());
    //        }
                    
        }
        @Override
        public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
            System.out.println("service");
        }
        public helloServlet(){
            System.out.println("helloServlet constructor");
        }
    }

    从这里边可以看出来init()方法被调用一次,多次刷新,会打印多次service,课件service()方法被多次调用、还可以获取在web.xml中配置的参数。

    入门易,精通难
  • 相关阅读:
    codeforces 455C 并查集
    poj 3501 Escape from Enemy Territory 预处理+二分+bfs
    POJ 2110 Mountain Walking 二分+bfs
    poj1637 Sightseeing tour 混合图欧拉回路判定
    ubuntu禁用super(win)键
    win10 ubuntu双系统安装后无法引导进入ubuntu
    python2限制函数传入的关键字参数
    python限制函数执行时间
    python classmethod 和 staticmethod的区别
    centos sendmail 启动慢
  • 原文地址:https://www.cnblogs.com/chenshun-2016/p/6013717.html
Copyright © 2011-2022 走看看