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. Java中的循环结构

    1.while循环结构 语法: while(循环条件){ //循环操作 } while循环结构流程图: 举例: int i = 1; while(i <= 100){ System.out.pr ...

  2. Spring注解之@Autowired、@Qualifier、@Resource、@Value

    前言 @Autowired.@Qualifier.@Resource.@Value四个注解都是用于注入数据的,他们的作用就和在xml配置文件中的bean标签中写一个标签的作用是一样的!本篇中特别要讲解 ...

  3. 洛谷p1345---最小割的奇妙运用

    让你去掉最少的点,使得c1和c2变得不连通,你有办法吗??? 这是最小割呀!!! 网络流的最小割去掉的是边,构造边的顶点的唯一关系就好了!!! 需要注意一点 #include<iostream& ...

  4. 【一起学源码-微服务】Ribbon 源码二:通过Debug找出Ribbon初始化流程及ILoadBalancer原理分析

    前言 前情回顾 上一讲讲了Ribbon的基础知识,通过一个简单的demo看了下Ribbon的负载均衡,我们在RestTemplate上加了@LoadBalanced注解后,就能够自动的负载均衡了. 本 ...

  5. java基础之----非空判断

    大家好,第一次写博客,一直想写博客,用于自我总结,也用于帮助新同学成长. 平常我们开发的时候,用到很多非空判断,但是很多同学用到的地方不是很准确,这里,我把自己平时遇到的坑跟大家说说.我废话不多,只想 ...

  6. 程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7

    首先自我介绍下自己履历:5年前过了腾讯的T3.2,最近又在1年多前过了阿里的P8,目前在B站. **腾讯** 在腾讯我是T2.1社招一般水平入职的,3年后到了T3.2.中间是经历过几个转变:刚来的半年 ...

  7. 一个动态扩展表格控件列和行的 jQuery 插件

    一个动态扩展表格控件列和行的 jQuery 插件 不过这并不影响使用鸭! 看这里:https://github.com/zhuwansu/table-ext.js 一个简单的示范 html <t ...

  8. 01-web自动化基础篇

    1.搭建环境 需要的环境 浏览器(Firefox/Chrome/IE…)-----选择Chrome Python Selenium Selenium IDE(如果用Firefox) FireBug.F ...

  9. python爬虫——scrapy的使用

    本文中的知识点: 安装scrapy scrapy的基础教程 scrapy使用代理 安装scrapy 由于小哥的系统是win7,所以以下的演示是基于windows系统.linux系统的话,其实命令都一样 ...

  10. 阿里云Centos7.X 如何对外开放端口

    一句话:如果你是买的各大厂商的云服务器,去安全组配置对应需要使用到的端口就可以啦! 因为博主用的是阿里云,所以这里就只介绍下阿里云如何开放端口,按着下面三张图来操作就行嘞 这个时候有同学就说了,不通过 ...