简介: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. jquery cdn bootstrap静态资源库问题

    使用微软静态资源库 <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js">&l ...

  2. MySQL添加用户并授权

    一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用户名 host:指定该用户 ...

  3. 基于上三角变换或基于DFS的行(列)展开的n阶行列式求值算法分析及性能评估

    进入大一新学期,看完<线性代数>前几节后,笔者有了用计算机实现行列式运算的想法.这样做的目的,一是巩固自己对相关概念的理解,二是通过独立设计算法练手,三是希望通过图表直观地展现涉及的两种算 ...

  4. python之元组及其方法---整理集

    元组: 区别:与列表类似,是对列表的二次加工:用小括号包括起来:元素不可修改:不可增加.删除 技巧:创建元组的时候,一般在最后一个元素后面加一个逗号:为了与方法区分:并且这个逗号不算元素例如: tu= ...

  5. 19-03【golang】strings包

    golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串   Contains(s, substr stri ...

  6. 路飞ORM练习

    # a.查看所有学位课并打印学位课名称以及授课老师 # degree_list = DegreeCourse.objects.all().values('name', 'teachers__name' ...

  7. angular4模块中标签添加背景图

    一.现象 一个全屏的“走马灯”每项需要添加背景图,在循环标签里需要动态添加行内样式 二.解决 1.首先有一个图片数组,如: export class AppComponent { array = [& ...

  8. PowerDesigner反向生成PDM和name与注释互换

    Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl 'the current model 'get the ...

  9. google搜索引擎正确打开姿势

    Google搜索引擎 原文来自黑白之道微信公众号       https://mp.weixin.qq.com/s/Ey_ODP_mG00of5DPwcQtfg   这里之所以要介绍google搜索引 ...

  10. NodeManager介绍

    原文链接: http://blog.csdn.net/zhangzhebjut/article/details/37730013 参考文档: https://blog.csdn.net/u013384 ...