zoukankan      html  css  js  c++  java
  • servlet学习(1)

    1.Servlet是sun公司提供的一门用于开发动态web资源的技术。

    2.Servlet在web应用的位置:


    3.创建Servlet的三种方式:
    (1)实现servlet的接口

    (2)继承GenericServlet。覆写service方法

    (3)继承HttpServle,覆写doGet()或者doPost()等方法

    注意:

    1>GenericServlet实现了 ServletServletConfig接口. GenericServlet能够直接被一个servlet扩充,虽然它更为一般的是用来扩充一个指定协议的子类,如HttpServlet.

    GenericServlet 使得写入 servlets更加简单。

    它提供了简单的生命周期方法initdestroy,以及ServletConfig接口中的方法 的版本号。

    GenericServlet 也实现了 log 方法,在ServletContext 接口中被声明。 

    2>提供了一个能够由之生成子类以为WEB网站创建HTTP servlrt 的抽象类。 HttpServlet的子类必须至少覆盖一个方法。一般是下列方法中的一个:

    • doGet, 假设servlet 支持 HTTP GET 请求
    • doPost, 针对 HTTP POST 请求
    • doPut, 针对 HTTP PUT 请求
    • doDelete,针对HTTP DELETE 请求
    • initdestroy, 为管理为servlet的存在而锁定的资源。
    • getServletInfo, servlet 用以提供关于器其自身信息。 
    4.不用IDE创建Servlet的方法:
    (1) tomcat/webapps/文件夹下创建web应用mail。


      文件夹结构例如以下
      tomcat/webapps
      | 
      mail
      | 
      WEB-INF  
      |        |
      web.xml  classes
      |
      cn.wwh.www.web.servlet.MyServlet.class


    (2)tomcat/webapps/mail/文件夹下写一个类MyServlet实现Servlet接口。


    (3)进入cmd命令台,增加servlet-api.jar[tomcat中有]支持
      set classpath=%classpath%;D:apache-tomcat-6.0.29libservlet-api.jar(导入这个jar包)
    (4) 进入MyServlet.java所在的文件夹,编译MyServlet。


      javac -d . MyServlet.java   (编译)
    (5)部置mail应用到tomcat/webapps/文件夹下,并启动Tomcat。


    (6)一定要在web.xml文件里配置MyServletWeb动态资源
      <servlet>
    <servlet-name>MyServlet</servlet-name>(一般写类名为好)
    <servlet-class>  cn.wwh.www.web.servlet.MyServlet</servlet-class>(权限类名)
      </servlet>
      <servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/MyServlet</url-pattern>(虚拟的URL)
      </servlet-mapping>
    (7) 通过浏览器訪问MyServlet这个动态Web资源
      IE:http://localhost:8080/mail/MyServlet
    注意:

    1>  在WEB-INF目录下放的是java的class文件。而不是java源码
    2>写servlet的类时,一定要在web.xml文件下进行配置,就像用到android的四大组件时,必须在manifest.xml文件里注冊一样。
    3>在浏览中的地址栏,输入虚拟文件夹要注意大写和小写问题。
    4>因为MyEclipse中自带了jdk,所以在执行tomcat时要注意在dos下编译的java源文件所用到的jdk要和tomcat中的jdk一样。
    4.servlet创建的三种方式(仅仅写类型。没有注重代码的目的)

    1.第一种(CreateServlet1.java):

    package cn.wwh.www.web.servlet;


    import java.io.IOException;
    import java.io.PrintWriter;


    import javax.servlet.Servlet;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;


    /**
     *类的作用:
     *
     *
     *@author 一叶扁舟
     *@version 1.0
     *@创建时间: 2014-7-26   上午10:57:35
     */
    public class CreateServlet1 implements Servlet{

    @Override
    public void destroy() {

    }
    @Override
    public ServletConfig getServletConfig() {
    return null;
    }
    @Override
    public String getServletInfo() {
    return null;
    }
    @Override
    public void init(ServletConfig arg0) throws ServletException {

    }
    @Override
    public void service(ServletRequest request, ServletResponse response)
    throws ServletException, IOException {
    // 取得服务端向浏览器中的输出流对象
    PrintWriter pw = response.getWriter();
    pw.write("You must study and never give up your dream!");

    }
    }

    (2)另外一种方式(CreateServlet2.java):
    package cn.wwh.www.web.servlet;

    import java.io.IOException;
    import javax.servlet.GenericServlet;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;


    /**
     *类的作用:
     *
     *
     *@author 一叶扁舟
     *@version 1.0
     *@创建时间: 2014-7-26   上午11:12:14
     */
    public class CreateServlet2 extends GenericServlet {

    @Override
    public void service(ServletRequest requeset, ServletResponse response)
    throws ServletException, IOException {
    // 设置浏览器字符的编码的方式,基本的针对中文字符,假设不设置中文字符,将出现乱码
    response.setContentType("text/html;charset=UTF-8");

    response.getWriter().write("<h1 style='color:red'>青春是用来奋斗的,理想是用来实现的!</h1>");
    }
    }
    (3)第三中方式(CreateServlet3.java):

    package cn.wwh.www.web.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;


    /**
     *类的作用:
     *
     *
     *@author 一叶扁舟
     *@version 1.0
     *@创建时间: 2014-7-26   上午11:41:28
     */
    public class CreateServlet3 extends HttpServlet {

    //浏览器以Get的方式提交。所以覆写doGet的方法就好了
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter pw = response.getWriter();
    // pw.write("<strong>");
    pw.write("<span style='font-size:300%;color:red;'>");
    pw.write("作者:一叶扁舟");
    pw.write("</span>");
    pw.write("<br/>");
    pw.write("<p style ='color:blue;'>专业:软件project</p>");
    // pw.write("</strong");

    pw.close();
    }
    }


  • 相关阅读:
    SQL利用Case When Then多条件判断
    SQL 中LTrim、RTrim与Trim的用法
    SELECT 与 SET 对变量赋值的区别(存储过程)
    exec/sp_executesql语法
    SQLServer : EXEC和sp_executesql的区别
    使用系统监视器监视系统性能
    Centos6.5下OpenLdap搭建(环境配置+双机主从配置+LDAPS+enable SSHA)
    迁移与裁剪linux系统
    Windows Server 2008 R2远程桌面服务配置和授权激活(转)
    cookie、session、sessionid 与jsessionid(转)
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6940663.html
Copyright © 2011-2022 走看看