Servlet
简介:
  • servlet就是sun公司开发动态web的一门技术
  • Sun在这些API中提供一个接口叫做:Servlet,如果逆向开发一个Servlet程序,只需要完成两个小步骤:
1、编写一个类,实现servlet接口
2、把开发好的Java类部署到web服务器中
把实现了Servlet接口的Java程序叫做Servlet
 
HolleServlet
Servlet接口 sun公司有两个默认的实现类:HttpServlet,GenericServlet
 
构建一个普通的maven项目,删掉里面的src目录,以后我们的学习就在这个项目里建立Moudel;这个空的工程就是maven主工程;
导入maven依赖:

(版本不一样的话可以到maven仓库中找适合自己的版本)

<!-- Servlet依赖 -->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JSP依赖 -->
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
关于maven仓库父子工程的理解:
父项目中的jar包子项目可以直接使用
 
如何编写一个Servlet程序:
  1. 编写一个普通类
  2. 实现Servlet接口,直接继承HttpServlet
  3. 重写get、post方法
编写Servlet的映射:
为什么需要映射:我们写的是Java程序,但是需要浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们的Servlet,还需要给它一个浏览器能够访问的路径。
在web.xml中:
<!-- 注册Servlet -->
<servlet>
<servlet-name>Name</servlet-name>
<servlet-class>ClassPath(类的路径:例如com.srx.Servlet.servletTest)</servlet-class>
</servlet>
<!-- Servlet的请求路径 -->
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url</url-pattern>
</servlet-mapping>
 
Mapping问题
  1. 一个Servlet可以指定一个映射路径
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url</url-pattern>
</servlet-mapping>
  1. 一个Servlet可以指定多个映射路径(多个路径可以同时指向一个Servlet)
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url2</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url3</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url4</url-pattern>
</servlet-mapping>
  1. 一个Servlet可以指定通用映射路径(在请求时路径后任意输入都可以响应到指定Servlet)
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>/Url/*</url-pattern>
</servlet-mapping>
  1. 指定一些后缀或者前缀等(可以自定义后缀实现请求映射,星号前面不能加映射路径)
<servlet-mapping>
<servlet-name>Name</servlet-name>
<url-pattern>*.任意后缀</url-pattern>
</servlet-mapping>
优先级问题:指定了固定的映射路径优先级最高,如果找不到的话就会走默认的处理请求。

Servlet概念及配置的更多相关文章

  1. TOMCAT ---> servlet概念

    1 TOMCAT ---> servlet概念 2 TOMCAT 目录结构 (各个文件夹都存放什么东西) 3 TOMCAT 程序的层级 web | |---- js,jsp,html,css ( ...

  2. servlet篇 之 servlet概念及其功能实现

    Servlet概念: 在JavaWeb中,把那些可以使用浏览器通过url的形式来访问的java类,叫做servlet. servlet就是java类中的一种,只不过这种java类有一个特殊的功能,就是 ...

  3. Servlet 规范笔记—servlet概念及结构

     Servlet, 这个词对java程序员并不陌生,我想几乎每个java程序员在学习J2EE知识时,首先学习的就是servlet,这是一种正确的学习方式,在我看来Servlet是J2EE的基础,要熟练 ...

  4. 4_7.springboot2.x嵌入式servlet容器自动配置原理

    概述 Spring Boot对所支持的Servlet Web服务器实现做了建模抽象: Servlet容器类型  WebServer模型接口 WebServer工厂实现类 Tomcat    Tomca ...

  5. DNS,TCP,IP,HTTP,socket,Servlet概念整理

    DNS,TCP,IP,HTTP,socket,Servlet概念整理   常见的协议虽然很容易理解,但是看了之后过一段时间不看还是容易忘,笔记如下,比较零碎,勉强供各位复习.如有错误欢迎指正.   D ...

  6. servlet两种配置方法详解

     1.web.xml中Servlet的注解 <servlet> <!-- servlet的内部名称,自定义 --> <servlet-name>DemoAction ...

  7. 尚硅谷springboot学习26-嵌入式servlet容器自动配置、启动原理

    EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置 @AutoConfigureOrder(Ordered.HIGHEST_PREC ...

  8. [javaEE] Servlet的手动配置

    一.Servlet sun提供的一种动态web资源开发技术,本质上就是一段java小程序,可以将Sevlet加入到Servlet容器中 *Servlet容器 -- 能够运行Servlet的环境就叫做S ...

  9. 嵌入式Servlet容器自动配置和启动原理

    EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置? @AutoConfigureOrder(Ordered.HIGHEST_PRE ...

随机推荐

  1. WWDC2018 之 优化 App Assets Optimizing App Assets

    该篇博客记录了观看WWDC Session227<Optimizing App Assets>的内容以及一些理解. 引言 该session主要讲述了使用Assets Catalog的新特性 ...

  2. Python爬虫之Beautifulsoup模块的使用

    一 Beautifulsoup模块介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Be ...

  3. 记录nfs的防火墙以及权限问题

    在前面的一篇文章(https://www.cnblogs.com/zyxnhr/p/10660431.html)中,已经介绍了nfs的安装挂载使用,但是存在两个问题 一. 防火墙 在nfs和nfs的守 ...

  4. 百度地图addEventListener“赋值”参数

    实现点击百度地图上的覆盖物,然后获取覆盖上的属性,进而实现数据传送. var pointArray=new Array();//创建一个数组存储坐标 /*在地图上标点*/ function ShowA ...

  5. 洛谷$2014$ 选课 背包类树形$DP$

    luogu Sol 阶段和状态都是树形DP板子题,这里只讲一下背包的部分(转移)叭 它其实是一个分组背包模型,具体理解如下: 对于一个结点x,它由它的子结点y转移而来 在子结点y为根的树中可以选不同数 ...

  6. Win10系统中搭建服务器的方法

    1.我的电脑->找到并点击“控制面板”->点击“程序”->点击“启用或关闭Windows功能”2.按如下图方式选中复选框   服务器批量管理软件 3.点击确定,打开iis管理器(右键 ...

  7. Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符

    JavaScript用来干什么 数据的验证 将动态的内容写入到网页当中(ajax) 对事件做出相应 读写html当中的内容 检测浏览器 创建cookies 模拟动画 语法特点 基于对象和事件驱动的松散 ...

  8. Python基础复习函数篇

    目录 1.猴子补丁2. global和nonlocal关键字3.迭代器和生成器4.递归函数5.高阶函数和lamdba函数6.闭包7.装饰器 1.   猴子补丁 猴子补丁主要用于在不修改已有代码情况下修 ...

  9. shell正则表达式和cut命令

    正则表达式 符号 描述 $ 匹配输入字符串的结尾位置 () 标记一个子表达式的开始和结束位置 * 匹配前面的子表达式零次或多次 + 匹配前面的子表达式一次或多次 . 匹配除换行符(\n)之外的任何单字 ...

  10. nginx错误: [error] OpenEvent("Global\ngx_reload_10444") failed (2: The system cannot find the file specified)

    执行nginx -s reload命令: nginx: [error] OpenEvent("Global\ngx_reload_10444") failed (2: The sy ...