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

2.Servlet在web应用的位置:



3.创建Servlet的三种方式:

(1)实现servlet的接口

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

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

注意:

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

GenericServlet 使得写入 servlets更加简单。

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

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

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

  • doGet, 假设servlet 支持 HTTP GET 请求
  • doPost, 针对 HTTP POST 请求
  • doPut, 针对 HTTP PUT 请求
  • doDelete,针对HTTP DELETE 请求
  • init 和destroy, 为管理为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.29\lib\servlet-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();

}

}

servlet学习(1)的更多相关文章

  1. JSP&Servlet学习手册

    JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...

  2. Servlet 学习笔记

    Servlet 运行在服务器上的 java 类: Servlet 容器为 javaWeb 应用提供运行时环境,负责管理 servlet 和 jsp 生命周期,以及管理他们的共享数据. 现在我们知道了 ...

  3. Servlet学习:(三)Servlet3.0 上传文件

    转: Servlet学习:(三)Servlet3.0 上传文件 2018年08月03日 11:57:58 iDark_CSDN 阅读数:362   一.注意事项 客户端(浏览器) 表单的提交方法必须是 ...

  4. Servlet学习(九)——request

    request运行流程在Servlet学习(四)——response已介绍,不再赘述 1.通过抓包工具获取Http请求 因为request代表请求,所以我们可以通过该对象分别获得Http请求的请求行, ...

  5. # jsp及servlet学习笔记

    目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...

  6. Servlet学习笔记(四)

    目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...

  7. Servlet学习笔记(三)

    目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...

  8. Servlet学习笔记(二)

    目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...

  9. servlet 学习(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  10. JavaWeb学习总结-04 Servlet 学习和使用

    一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...

随机推荐

  1. 英语音乐---三、Cry on my shoulder

    英语音乐---三.Cry on my shoulder 一.总结 一句话总结:Cry on my shoulder 在我的肩膀上哭泣 1.If the hero never comes to you. ...

  2. DGA特征挖掘

    摘自:https://paper.seebug.org/papers/Archive/drops2/%E7%94%A8%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%A ...

  3. 关于安装Ubuntu系统时提示“分配到/的分区/dev/sdax开始于xxxx字节,使用磁盘的最小对齐,这可能造成非常差的性能..."的解决办法

    由于Windows系统的VMware出了一些问题,索性就不用VM了,直接装上双系统好了.但是在最后安装时出现错误提示“分配到/的分区/dev/sdc1开始于3584字节,使用磁盘的最小对齐,这可能造成 ...

  4. 5.IntellijIDEA常用快捷键总结

    转自:https://blog.csdn.net/qq_17586821/article/details/52554731下面的这些常用快捷键需要在实际操作中不断地体会才能真正感受到它们的方便之处. ...

  5. BZOJ 4448 主席树+树链剖分(在线)

    为什么题解都是离线的-- (抄都没法抄) 搞一棵主席树 1 操作 新树上的当前节点设成1 2 操作 查max(i-xx-1,0)那棵树上这条路径上有多少个点是1 让你找经过了多少个点 查的时候用dee ...

  6. 项目中log4j的使用

    基于ssm项目: 1.导入log4j.slf4j相关jar包 commons-logging-1.1.3.jar.log4j-1.2.12.jar.slf4j-api-1.6.6.jar.slf4j- ...

  7. h5调用手机前后摄像头,拍照

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pacam.aspx.cs& ...

  8. PostgreSQL Replication之第八章 与pgbouncer一起工作(5)

    8.5 维护 pgbouncer 除了我们在本章已经说明的,pgbouncer有一个很好的能够执行基本管理和监控任务的交互式管理界面. 它是如何工作的呢?pgbouncer提供给您一个虚假的称为pgb ...

  9. 51Nod 不重叠的线段(贪心)

    X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠的线段.(注:起点或终点重叠,不算重叠). 例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重 ...

  10. 阿里云安装mysql数据库出现2002错误解决办法

    在安装数据库的时候出现了如下错误: 解决办法如下: 1.在bin目录下 输入:kill -s 9 9907 再输入:ps -ef|grep mysql 显示如下: 2.回到lampp目录下,重启数据库 ...