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. ...
随机推荐
- IOS 键盘弹出导致的position:fixed 无效问题
解决办法(还未测试): 只需要在中间部分外层div添加css样式position:fixed;top:50px; bottom:50px;overflow:scroll;就可以实现效果,无需插件.可拷 ...
- Hive SQL测试
在spark的空表test上进行运算,注意结果差异: ,age)) as ages from test group by name;//空 ,age)) as ages from test group ...
- Spark DataFrame列的合并与拆分
版本说明:Spark-2.3.0 使用Spark SQL在对数据进行处理的过程中,可能会遇到对一列数据拆分为多列,或者把多列数据合并为一列.这里记录一下目前想到的对DataFrame列数据进行合并和拆 ...
- [django]Django外键(ForeignKey)操作以及related_name的作用
https://blog.csdn.net/hpu_yly_bj/article/details/78939748 related_name表面作用 加上 核心related_name作用 https ...
- 删除 clean tomcat7:run
1.在eclipse中运行的绿色箭头旁边有个下箭头,点击: 2.选择Run Configurations... 3.在Maven Builder下删除不想要的
- Java 基础 面向对象和抽象类
面向对象变量 局部变量和成员变量区别 区别一:定义的位置不同 定义在类中的变量是成员变量 定义在方法中或者{}语句里面的变量是局部变量 区别二:在内存中的位置不同 成员变量存储在对内存的对象中 局部变 ...
- [Java in NetBeans] Lesson 02. Variables, Data Types and Assignment.
这个课程的参考视频在youtube. 主要学到的知识点有: Data Type: int, char, String, double, boolean. When into printf, int ( ...
- python-数据
python基本数据类型 数字 整型 int 123 浮点型 float 3.2 布尔型 bool True/False 复数 complex 1+1j 组 序列 字符串 str "hell ...
- iOS UIViewController生命周期控制
具体流程,看下图: init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是nil ...
- webpack使用六
插件(Plugins) 插件(Plugins)是用来拓展Webpack功能的,它们会在整个构建过程中生效,执行相关的任务. Loaders和Plugins常常被弄混,但是他们其实是完全不同的东西,可以 ...