javaweb笔记—02
1.compatible:adj. 兼容的;能共处的;可并立的
2.web所有的请求都是http请求,http请求默认的编码是ISO-8859-1,
不支持utf-8,要统一设置前台和后台一样,才不会乱码。
3.dispatcher:调度,调度员,跳转
增加一个用户成功之后,后台经过处理,然后要跳转到另一个页面,让用户继续操作。
4.Servlet继承结构的设计好处;
a.便于类的扩展(Java对于扩展是允许的,对修改是关闭的)
注:万一那一天多了一个协议,那么只需要让该协议对应的类实现
该协议,然后继承字genericServlet类,即可完成需求。
5.HTTPServlet类的一个service方法
我们建的类,继承自它,重写了init、destroy、doGet、doPost、方法
在httpServlet中service方法,会判断来自客户端的请求,如果是request,
那么调用request方法,如果是response,那么调用response方法,
即就是:在调用doGet和doPost方法前是先调用父类的service方法
,在我们建的类中重写该方法,就能验证出这个事实。
总结
第一次请求Servlet时,服务器会先实例化该类,然后初始化,然后调用server方法
然后,调用doget或者dopost方法,然后做操作,最后在服务器关闭的时候消亡
实例化---初始化---服务---销毁==Servlet的生命周期
补充1:给XML文件的SaveServlet加一句<load-on-startup>0</load-on-startup>
还要1、2、3、优先级别。
效果:当服务器启动时,该类就初始化了。
作用:如果说有时我们会在里边加载一些配置文件,当服务器启动时。
补充2:一般的Java文件发布后,成为class文件,要改参数不好改
把参数配置在XML文件中方便改动。在哪个servlet里边配参数,这个就写到哪个servlet里边
<init-param> XML文件不会被编译,所以很方便。
<param-name>键</parame-name>
<param-value>值</param-value>
</init-param>
6.第一个例子:从前台input.jsp提交表单,到后台SaveServlet输出数据,
然后发送数据到另一个页面index.jsp
7.
//request跳转,请求转发,由A转到C,但是地址栏依然显示A,转发使用request,地址栏不会发生变化,并且可以携带request作用域的值
//可以通过request.setAttr传递数据
8.在地址栏是
重复提交时,因为没有输入任何参数,会报出500的错误,
fulfilling:使满足,叫人愉悦的。
9.request对象的方法两个
getParameter:从jsp得到参数,到Servlet取出参数
attribute:在服务器端(Servlet)设置参数以键值对的形式设置
然后到客户端(jsp页面取值)。
10.jsp页面中写Java代码<% java 代码 %>
输出数据:out.print();
11.必须掌握的request对象的方法
getRequestURI: 项目下的地址
getRequestURL: 项目的全路径:主机//端口/项目名/Servlet类
getServletPath: /Servlet类名
getContextPath:/项目名(前边说的工程名可以任意的改动)
getMethod:默认是doGet:
javaweb笔记—02的更多相关文章
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- 《30天自制操作系统》笔记(02)——导入C语言
<30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 强化学习读书笔记 - 02 - 多臂老O虎O机问题
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...
- JS自学笔记02
JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...
- 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...
- CS229 笔记02
CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ $ {\bf {\t ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- ASP.NET Identity 2集成到MVC5项目--笔记02
ASP.NET Identity 2集成到MVC5项目--笔记01 ASP.NET Identity 2集成到MVC5项目--笔记02 继上一篇,本篇主要是实现邮件.用户名登陆和登陆前邮件认证. 1. ...
随机推荐
- css篇-less,scss 用calc问题
在less或者scss中 calc(100% -4rem) 等带单位混合运算会被less解析忽略单位,全部按照百分比计算,此例中的计算被less编译成calc(96%), 解决办法: width:(& ...
- echarts给数据视图添加表格样式
1,准备好样式 <style>.myTable {margin: 0 auto;/* height: 300px; */width: 700px;} .myTitle {backgroun ...
- golang 的 buffered channel 及 unbuffered channel
The channel is divided into two categories: unbuffered and buffered. (1) Unbuffered channelFor unbuf ...
- vue 获取屏幕宽高 width height
/** * 获取屏幕宽高 */ Vue.prototype.getViewportSize = function(){ return { width: window.innerWidt ...
- [django]drf知识点梳理-权限
用户 - 权限 - 资源 (拥有) (绑定) django权限机制能够约束用户行为,控制页面的显示内容,也能使API更加安全和灵活:用好权限机制,能让系统更加强大和健壮 django权限控制 Djan ...
- DS1-2
#include <stdio.h> void PrintN_1(int i, int N); void PrintN_2(int i); int main() { int n; scan ...
- fullPage最后一屏自适应
fullpage最后一屏可以有多少内容展示多少内容 1.需要引用一个滚动条 插件:jquery.slimscroll.js 2.引用一个属性 'scrollOverflow': true, 备注: ...
- [pat]1045 Favorite Color Stripe
1.用一个数组里面存储喜爱数字的值来区分数字是不是喜爱,以及值的大小顺序,用vector循环删除a数组中不是喜爱的元素,这里it=erase()之后it自动指向下一个元素,由于循环每次还要自增1,所以 ...
- tcpdump 选项及过滤规则
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap (1)t ...
- 从零开始一起学习SLAM | SLAM有什么用?
SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻译为:同时定位与建图.同时定位与地图构建. 「同时定位与地图构建」这几个词,乍一听起来非 ...