| |
|
开发:
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,说servlet太古老了,现在很多公司都不用这个了,建议我直接学springboot。他建议比较中肯,但是我深知,springboot虽然很方便,但是对于小白来说直接学springboot,可能会有一些云里雾里,不知其所以然。最后我还是选择花一点时间学一下Servlet,了解其基本知识点。对于我学习后面深入学习spring,springmvc,springboot可能会更多帮助。 一、web容器和Servlet理解 ????????web容器:首先生活中的容器,它的作用是就是用于盛放东西,比如说:水杯用于盛放水。同理,web容器,用于盛放web应用的,所谓web应用就是web程序(网站)。那web容器到底是什么呢?其实就是web服务器,用于解析web应用的。常用的web服务器有哪些呢?比如说:java里面有tomcat,jboss,window中web服务器是IIS,PHP使用的是apache。 ????????Servlet:Servlet本质是一个java接口,为了实现某种功能定义的规范。我们在web应用中,可以简单实现一个请求对应一个servlet与之处理。当然在真正工程时并不会这样做,通常定义一个servlet,然后在内部基于请求进行分发处理(springmvc就是这样处理的)。 二、目录说明 在开发java web有一些目录需要单独说明一下,不然很容易混乱。
编译打包:java web会打包成war,那么war主要内容:webapp中内容(不含webapp),resource中内容(不含resource)以及classe文件 三、组件 1、Servlet三大组件:Servlet、Listener、Filter
2、Servlet四种域对象:jsp、request、session、application(范围由小到大) 3、Servlet常用对象:ServletContext,HttpServletRequest,HttpServletResponse,HttpSession 四、常用类 4.1、ServletContext????????
4.2、HttpServletResponse
4.3、HttpServletRequest
4.4、HttpSession ? ? ? ? Session代表一次会话,存储在服务器中。我们通过Session可以设置一些属性,用于服务内部,常用方法:
4.5、Cookie ? ? ? ? Cookie是浏览器行为,业务通过相关方法(Cookie类中方法),创建cookie,通过http协议传给浏览器。以后每次请求,浏览都会携带cookie,最终服务器通过cookie可以做某些事情(例如验证,反爬虫)
五、转发和重定向区别 相同点:实现页面跳转 不同点:转发发生在web server内部,一次http请求(url地址栏不变) ? ? ? ? ? ? ? ?重定向是由浏览器触发,两次独立http请求(url地址栏发生变化) 转发两种方式(不需要添加项目前缀): getServletContext().getRequestDispatcher("/success.jsp").forward(req, resp); req.getRequestDispatcher("/success.jsp").forward(req, resp) 重定向(需要添加项目名称前缀): resp.sendRedirect(getServletContext().getContextPath()+"/success.jsp") 六、总结 ? ? ? ? 利用几天阅读相关书籍以及观看学习视频,Servlet还是比较简单的,知道里面有哪些组件以及常用方法,就行了。上面是我的总结,比较浅显。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/24 0:15:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |