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. ...
随机推荐
- Marathon自动扩缩容(marathon-lb-autoscale)
我们在服务里面创建如下的应用(以下是创建完复制过来的json): { "id": "/nginxtest", "cmd": null, &q ...
- 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业
2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...
- script命令录屏
关于linux上的操作,我们的确可以使用'history'命令来显示出来操作记录,但是有些时候,我们不仅仅需要知道做了什么,还需要知道操作的时候,产生了什么效果,这个时候‘history’命令就显示无 ...
- 32-Python3 MySQL(mysql-connector)
32-Python3 MySQL(mysql-connector) ''' 创建数据库连接 ''' import pymysql mydb = pymysql.connect( host = '127 ...
- 正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...
- iOS 元件组件-创建静态库static library
概述 在项目开发的过程中,经常使用静态库文件.例如两个公司之间业务交流,不可能把源代码都发送给另一个公司,这时候将私密内容打包成静态库,别人只能调用接口,而不能知道其中实现的细节. 库是一些没有mai ...
- HDU 1251 统计难题(Trie)
统计难题 [题目链接]统计难题 [题目类型]Trie &题解: Trie的模板题,只不过这题坑点在没给数据范围,改成5e5就可以过了,用的刘汝佳蓝书模板 &代码: #include & ...
- 219. 存在重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示例 1: 输入: nums = ...
- jQuery清除数组中的空值
var aa = ["12", "34", "", "423", " "]; console.l ...
- Android -- 使用WindowManager实现悬浮框效果
1,原文在这里http://blog.csdn.net/qq_17250009/article/details/52908791,我只是把里面的关键步骤给注释了一下,首先来看一下我们的效果,如图(电脑 ...