| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Servlet. -> 正文阅读 |
|
[Java知识库]Servlet. |
一、servlet快速入门1、新建的web项目工程,并导入Servlet依赖:(这里也要导入Tomcat服务器依赖,因为Servlet需要依赖于Tomcat才能运行,也就是说Servlet是在Maven环境下的Web项目中创建的) 因为这是在Maven环境下做的web项目,玩的就是Servlet 肯定要把Servlet依赖导入该项目了,就和Mybatis一样, 用Mybatis玩项目 就肯定把Mybatis依赖导入进来了~ 创建步骤:看tomcat笔记中如何创建Maven环境的web项目 注意:?
? 2 & 3、创建:定义一个类,实现servlet接口? &? 配置 加注解 配置Servlet的访问路径?: 注意: 加@Overide注解 报红的话:记得快速导入 在pom.xml文件当中导入注解依赖 ?4、访问:启动tomcat服务器,浏览器输入地址,访问该Servlet:
启动tomcat服务器:? ? ? 客户端访问服务器当中部署的web-demo项目中的 /demo1 路径下的资源: ? ?二、Servlet 执行流程改正:Servlet不是ServletDemo1,ServletDemo1只不过是实现的Servlet的一个类,本质上我们操作的是Servlet中的方法(只不过Servlet接口不能new对象 但被一个类重写全部的方法后就可以了 注意下面标注的Servlet:这里的Servlet就代表代码中的:ServletDemo1 是错误的 ) ?三、Servlet 生命周期?改正:Servlet就是实现Servlet的类 是错误的,就是Servlet,因为我们操作的就是Servlet中的方法,只不过Servlet是接口 我们下面对Servlet当中的方法进行演示详解:1、init()方法:
?测试演示: ? 演示当我们服务器启动时就创建Servlet对象初始化init()方法:(也就是服务器启动后就把对象创建号并且调用了init方法 不再通过浏览器(客户端)访问一次后再调用了,增加了效率) ? ?2、service()方法:
?服务器开启状态的时候假设我们访问6次 演示如下: ?3、destroy()方法:
?如果想演示destroy()销毁方法:需要是正常关闭tomcat服务器,正常关闭演示如下:(优化后的idea强制关闭也能显示destroy方法中的内容) 四、Servlet方法介绍 & 体系结构后两个方法介绍:? ?
?会发现以上的方法当中我们最常用的也就是Servlet()方法 但是我们自定义的类实现Servlet接口的时候必须要重写接口当中的全部方法(5个) 显然有点麻烦, 所以我们下面学习Servlet 体系结构:就是专门对service方法的封装 Servlet 体系结构:?演示如下:? 把注释搞懂,就知道了为什么用HttpServlet这个类 封装 Servlet接口中的service方法:?
假设我们把这个web-demo项目部署到服务器当中,然后对"/demo4"路径进行访问?: 注意:直接在浏览器当中访问相对应的路径,这种默认是get请求方式 (就是说用户是以get请求方式请求) ? ?接下来我们演示post请求方式请求项目当中的"/demo4"的资源: 我们需要写个表单 请求方式为post请求: 这里的a.html表单页面也相当于一个普通的浏览器(用户端)只不过这个页面是写出来的 提交后以post请求方式请求(这里的请求方式也可以写成get请求,写成get请求后就输出的是get.....了 ,因为调用的是doGet()方法了, 上面已经验证过了 ): ?开启服务器进行访问a.html页面:下面的操作和get请求时一样的 ? ? 原生的在Servlet接口中的service()方法当中的处理客户端的get和post请求: 因此我们用到了HttpServlet类进行封装该Servlet接口中的service()方法,进行处理客户端的get或者post请求? 五、Servlet urlPattern配置1、一个Servlet,可以配置多个urlPattern(访问路径)??演示如下: ? 客户端访问服务器当中部署的web-demo项目中的demo5路径下的资源演示如下(浏览器默认get请求方式 所以调用doGet()方法下的资源 ):? ? ? ? 2、urlPattern配置规则通常就是用精确匹配规则 精确匹配: ?客户端访问该路径下资源(默认get请求): ?目录匹配:也就是说客户端在输入URL的时候:/user/?后面写什么都可以 都能访问到该路径下的资源 ?注意:如果我们有两个资源 一个是精确路径 为:/demo5/select? 另一个资源是目录匹配路径为 : /demo5/*? 那么客户端如果想访问项目中的 /demo5/select 资源的话 会访问这两个中的哪个资源呢: 答案就是 /demo5/select 路径下的资源 (遵守最小范围规则,范围越小越访问) 六、WEB.XML配置Servlet?注:xml: 是web.xml ?演示如下: ?web.xml中配置Servlet中的访问路径: 这里面配的 /demo13? ?就相当于我们在资源上面?@WebServlet("/demo13") 访问路径 意义是一样的 ?服务器开启后把该项目部署到服务器当中 然后浏览器(客户端)访问该路径下的资源演示: 服务器开启并把项目部署到服务器:(用的是tomcat服务器插件 忘记的话看tomcat笔记) ?客户端访问项目中上面写的 /demo13 路径下的资源: ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:15:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |