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>
优先级问题:指定了固定的映射路径优先级最高,如果找不到的话就会走默认的处理请求。

最新文章

  1. J2EE基础之JavaBean
  2. HTML form 表单
  3. Action的搜索顺序(Struts2搜索Action的机制)
  4. Oracle Created Database Users: Password, Usage and Files References (文档 ID 160861.1)
  5. iOS仿京东分类菜单实例实现
  6. android媒体文件扫描
  7. Spring对加载的bean之间循环依赖的处理
  8. 一个很不错的bash脚本编写教程
  9. ssh git设置命令行
  10. 第十七章、程序管理与 SELinux 初探 工作管理 (job control)
  11. 计算机体系结构 -内存优化vm+oom
  12. android实现对导航Tab设置下划线选中效果
  13. getClass 与getSimpleName
  14. Java并发编程--多线程中的join方法详解
  15. Qt程序Windows部署前打包方法
  16. HTML5 在canvas绘制一个矩形
  17. angular路由为空重定向到指定路由
  18. SAP SQVI 快速浏览器
  19. Selenium:WebDriver简介及元素定位
  20. php开启慢日志

热门文章

  1. JavaScript数组的方法 | 学习笔记分享
  2. LOJ 北校门外的回忆 倍增+线段树
  3. 洛谷$P4331\ [BOI2004]\ Sequence$ 数字序列 左偏树
  4. Linux三剑客之sed的基本用法介绍
  5. Java程序运行原理
  6. 【uuid】- 唯一标识
  7. CSS单行文字超出省略
  8. 【原创】(十五)Linux内存管理之RMAP
  9. window bat批处理 实用脚本
  10. 为什么样本方差的分母是n-1?为什么它又叫做无偏估计?