简介:Servlet其实是Server Let的缩写,是服务器端应用程序。  java中有一个applet是客户端应用程序,与servlet对应。applet已经过时。Servlet作用:能在B/S架构中,接受请求,返回响应的技术。其实和jsp的功能是一样的,可以用jsp写的东西都可以用servlet写,他其实是jsp的前身。因为Servlet用起来并不是很方便,所以后来出现了jsp。Servlet其实就是一个特殊的java类,具有跨平台(所有类运行在jvm虚拟机上),性能好,以多线程的方式运行。特点:Servlet必须运行在容器(web服务器)中,比如Tomcat,不能单独运行。

实现方式:

1.自定义类,实现javaEE中的一个接口

javax.servlet.Servlet接口并重新其中的所有方法就可以了。因为servlet可以接受并响应请求,我们可以知道,他被访问后会自动执行某些东西的,实现类后发现其中有五个必须的方法,而service方法就是最重要的。如下是我定义的Servlet类MyServlet类。

package com.servlettest;

import java.io.IOException;

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

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

}

@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
//接受客户段请求,并返回响应。
System.out.println("调用了servlet了");
}

}

2.配置web.xml文件

只写了这个类,在客户端还是访问不到的,我们都知道,客户端访问服务器资源是通过url访问的,所以,这里需要在web.xml中配置我们需要访问的Servlet类的url,具体设置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app><!-- web.xml文件根目录 -->
<welcome-file-list><!-- 默认访问本项目时的资源页面 -->
<welcome-file>home.jsp</welcome-file>
</welcome-file-list>
<!-- 配置一个servlet -->
<servlet>
<servlet-name>servlet_name</servlet-name><!-- 随便取的名字(介绍这个servlet) -->
<servlet-class>com.servlettest.MyServlet</servlet-class><!-- 这个Servlet对应的实体类 -->
</servlet>
<servlet-mapping>
<servlet-name>servlet_name</servlet-name><!-- 你知道的那个servlet,就是你配置的时候取得名字 -->
<url-pattern>/MyServlet</url-pattern><!-- 指定客户端访问这个servlet时用的资源名,以/开头 -->
</servlet-mapping>
</web-app>

我的理解:<servlet>标签其实是在介绍我们之前定义的MyServlet这个类,是在像jvm介绍我这个Servlet的名字,类具体在哪里。

      <servlet-mapping>这个标签则是给客户端介绍这个类的名字和对外应该怎么找到他。两者相互映射,都是同一个对象。

3.地址栏输入     站点+url-pattern标签的地址

http://localhost:8080/servlet_demo/MyServlet

这样在客户端访问的时候,只要url后面访问的是这个站点上的/MyServlet就会触发service方法,结果控制台打印----调用了servlet了。

Servlet创建完美教程的更多相关文章

  1. Centos7安装并配置mysql5.6完美教程

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  2. MasonJS – 创建完美的砌体结构网页布局

    MasonJS 插件用来解决目前大多数的网格系统使用中的问题——间距.当使用 Masonry,Isotope 或任何其他网格插件时,布局中会出现空白或边缘参差不齐的情况.MasonJS 可以帮助你填补 ...

  3. 创建完美SDK的10个技巧

    [编者按]本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK.文章系国内 ITOM 管理平台 OneAPM 编译呈现.以下为正文. 本文起源于笔者朋友的 ...

  4. Altium 中异形焊盘异形封装的创建图文教程

    Altium 中异形焊盘异形封装的创建图文教程 一般不规则的焊盘被称为异型焊盘,典型的有金手指.大型的器件焊盘或者板子上需要添加特殊形状的铜箔(可以制作一个特殊封装代替). 如图27所示,此处我们以一 ...

  5. Oracle创建用户教程

    计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Or ...

  6. 使用Oracle VM VirtualBox创建虚拟机教程

    使用Oracle VM VirtualBox创建虚拟机教程                                                                       ...

  7. 如何使用Java、Servlet创建二维码

    归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...

  8. servlet创建项目过程中,servlet内容重写的两种搭建,tomcat的配置,class的存放位置,web.xml的搭建等注意事项与易错点

    运行一个servlet项目:需要做这些前提工作: 1.配置tomcat,在server选项卡的设置也就基本的设置,HTTP port与JMX port等端口号:基本都是默认的.这里需要注意的是,有的教 ...

  9. 【转】如何使用Java、Servlet创建二维码

    归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...

随机推荐

  1. 开源虚拟化KVM(三)管理虚拟网络

    六,管理虚拟网络 [x] Linux网桥基本概念 [x] qemu-kvm支持的网络 [x] 向虚拟机添加虚拟网络连接 [x] 基于NAT的虚拟网络 [x] 基于网桥的虚拟网络 [x] 用户自定义的隔 ...

  2. 通过微信公众号API复制公众号自定义菜单同时增加子菜单方法

    主要的原因是再不破坏公众号以前的菜单的基础上增加自定义菜单,主要步骤如下: 1.通过微信提供的微信公众平台接口调试工具获取公众号的所有自定义菜单 网址:https://mp.weixin.qq.com ...

  3. [邀月博客] SQL Server 2008中SQL增强之二:Top新用途

    top数为变量时 declare @intTop intset @intTop=2print @intTop --set rowcount @intTop--select * from [dbo].[ ...

  4. 搭建zookeeper和Kafka集群

    搭建zookeeper和Kafka集群: 本实验拥有3个节点,均为CentOS 7系统,分别对应IP为10.211.55.11.10.211.55.13.10.211.55.14,且均有相同用户名 ( ...

  5. Max answer(单调栈+ST表)

    Max answer https://nanti.jisuanke.com/t/38228 Alice has a magic array. She suggests that the value o ...

  6. docker image 详解

    docker iamge docker 镜像: [root@localhost ~]# docker image --help Usage: docker image COMMAND 管理镜像 Com ...

  7. mysql数据库分区和分表

    转载自 https://www.cnblogs.com/miketwais/articles/mysql_partition.html https://blog.csdn.net/vbirdbest/ ...

  8. js真乃神器也

    var a =document.getElementsByClassName('SearchResult__title-text'); for (i = 0;i < a.length;i++){ ...

  9. Redis master/slave,sentinel,Cluster简单总结

    现在互联网项目中大量使用了redis,本文著主要分析下redis 单点,master/slave,sentinel模式.cluster的一些特点. 一.单节点模式 单节点实例还是比较简单的,平时做个测 ...

  10. Webmagic 爬虫框架 爬取马蜂窝、携程旅游、汽车之家游记信息

    WebMagic学习 遇到的问题 Log4j错误 解决:在src目录下添加配置文件 log4j.properties log4j.rootLogger=INFO, stdout, file log4j ...