javaweb servlet jsp简单笔记
第二章:
1: web 俗称 : 万维网 www
2: web开发 的三大核心:
HTML(网页) ,URL(定位),HTTP:(协议)
页面的分类:
静态页面: html+css
动态页面:jsp(java), asp(VB) .net(c#) php(电子商务)
URL:
URL:同一资源定位器,用来定位web中的某个资源。
URI:通用资源表示符, 不仅可以定位资源,还可以确定资源的位置(url是uri的组成之一)。
提交方式:
Get: http://abc:5236/yyg/myslvet?uname=”姜小白”&age=30&.......
传输速度快,数据会显示在url中,不安全;传输数据量小,一般为1024字节
Post: 如果是form表单, ajax异步处理(可以指定 get/post提交数据);
传输速度慢;数据已包的形式传输,安全,数据传输量大,一般为2M;
3:B/S 和 C/S
B/S: 浏览器 服务器,易于维护,成本低,分布式强
C/S: 客户端服务器,交互性强,维护困难,响应快 处理数据量大
4 http协议
俗称:超文本传输协议
特点:无状态---不能记住客户端请求的数据。
5 状态码:
200 ---成功
404---请求的url错误
500---服务器内部错误
6 服务器:Tomcat jbos, weblogic…
Tomcat:目录结构 及作用…
7 web程序的结构
使用MyEclipse 工具开发web工程
Web项目结构:
Src—程序的包和java源文件。
webRoot----前端的所有内容(图片 css样式+js,jsp ,html, jar包,xml配置文件);
第三章 servlet基础
1: 什么是servlet
Servlet 是由java编写的 java源文件。运行在服务器端,
用于 接收用户请求并且动态像客户端响应数据。
2:servlet的生命周期:
五个阶段 3个方法
加载实例化:执行构造方法
初始化:执行init()方法
服务:执行service()方法,依据用户的请求决定执行 doGet 或者 doPost
销毁:执行 destroy()方法
不可用:由系统自动回收无用内存
说明:如果第一次访问servlet, 执行顺序:
请求---》 加载---》初始化—》服务---》响应---》页面显示取出的数据。
第二次 以后访问,直接执行服务阶段
当程序结束时,执行销毁。
3:如何使用servlet
3.1 定义类继承HttpServlet抽象类
3.2 重写两个方法
doGet()----客户端以get方法发送的请求
doPost()----客户端以post方法发送的请求
3.3 在web.xml中配置Servlet
<!—声明--> <servlet> <!—指定一个名词,供内部使用--> <servlet-name>us</servlet-name> <!—指定servlet的路径 包名.类名--> <servlet-class>com.dkt.servlet.UserServlet</servlet-class> </servlet> <!—映射 对外提供访问路径--> <servlet-mapping> <!—匹配内部名词--> <servlet-name>us</servlet-name> <!—匹配外部的访问路径 必须以’/’开头 在路径中访问时不能要‘/’--> <url-pattern>/servlet/UserServlet</url-pattern> </servlet-mapping> |
4 servlet 接收数据
接收表单或者 get方式 的请求,传递的数据 String name = request.getParameter(“表单元素的name属性/get方式的参数名词”); 获取多个值: String[] hoppys = request.getParameterValues(“hoppy”); |
5 乱码:
//针对post 请求提交的数据 request. setCharacterEncoding("utf-8"); //针对get方式提交的中文数据 乱码处理 new String(str.getBytes("ISO-8859-1"), "utf-8"); |
6 响应:
创建响应输出流对象: PrintWriter out = response.getWriter(); Out.print(“响应的内容”); |
响应的乱码处理: response. setCharacterEncoding("utf-8"); 响应页面的乱码处理: Response.setContentType(“text/html;charset=utf-8”); |
第四章 Servlet编程
1 页面的跳转技术
请求转发(内部跳转)
特点:请求一次,地址栏不会发生变化
语法:request.getRequestDispatcher("跳转的页面路径").forward("请求", "响应");
常用的语法:
RequestDispatcher rds = request.getRequestDispatcher("跳转路径"); //获取转发器 request.getParameter(""); //获取表单 或者 url的参数值 request.getParameterValues(""); //获取多个数据,得到一个String[] request.setAttribute("键", "值"); //存值 request.getAttribute("键"); //取值 request.getSession(); //得到会话对象 request.setCharacterEncoding("编码格式"); //处理编码格式 |
重定向(外部跳转):
特点:请求多次,地址栏要发生改变
语法:response.sendRedirect("跳转路径");
常用的语法:
response.getWriter(); //输出 response.sendRedirect("跳转路径"); response.setContentType("输出文档内容格式"); response.setCharacterEncoding("编码格式"); //处理响应的编码格式 ......... |
2 会话
什么是会话:
客户端发出一次请求,服务器响应客户端。这样的一个过程 称为 会话;
什么是会话跟踪
服务器向客户端分配一个唯一的ID标识,用于记录客户端
常用的会话技术
Session 追踪, Cookie追踪 URL重写 隐藏域追踪
Session会话技术
创建session
httpSession session = request.getSession(); //设置session的失效时间 单位秒 session.setMaxInactiveInterval(10); //清楚session中的值 session.removeAttribute("uname"); //退出 销毁session session.invalidate(); |
第五章 jsp基础
1 什么是jsp
Jsp(java+ server +pages)---运行在服务器上的页面,服务器执行jsp生成html返回到浏览器中显示。
Jsp:html+java代码 (页面嵌入的java代码可以在服务器上运行);
2.为什么使用jsp
相对于servlet而言
Jsp可以在页面嵌入java代码,页面显示更简单,添加样式 或者美化界面更简单。Jsp 对于View层更直观操作更简单
Servlet 必须使用out.println()方法响应页面。
3 .jsp的执行特点
第一次访问:
将jsp文件所有的jsp引擎转换为servlet源文件(.java)
===>将源文件编译成字节码文件(.class)
===> 执行字节码文件
===>向客户端响应生成的静态页面内容。
注意:这也是 问什么我们第一次访问 jsp页面比较慢的原因。
4.Jsp页面的组成:
HTML |
静态页面 |
<% %> |
Java脚本 可以在脚本中写java代码 |
<%= %> 表达式 |
输出数据,类似于servlet 中的out.println() |
<%! %> 声明 |
定义变量或者方法 |
<%@ %>指令 |
page 指令: import : 导入包 pageEncoding:设置编码格式 errorPage : 指定错误页面 include:指定包含的页面。 |
注释: |
<!-- 注释 一 --> <%-- 注释 四 --%> /* 注释 二 */ // 注释 三 |
第六章: 页面作用域
Jsp页面的内置对象:
在jsp页面中不需要创建,有web服务器提供的对象,可以直接使用。
内置对象的分类:
输入输出:out request response
作用域: page request session application
作用域的通信对象: pageContent request session application eg:${request.usernae}
其它:config page exception
说明:config用于 在xml文件中通过名称获取参数信息
参数值为:<%= config.getInitParameter(“DemoServlet”) %>
服务器内部异常使用:<%= exception.getMessage()%>
javaweb servlet jsp简单笔记的更多相关文章
- JavaWeb -- Servlet+JSP+JavaBean(MVC)模式
Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP ...
- Servlet&JSP复习笔记 03
1.Servlet的声明周期 容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程. a.实例化 容器调用 ...
- Servlet&JSP复习笔记 01
1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...
- Servlet&JSP复习笔记 02
1.Servlet获取请求参数 获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的. a.获取Name-Value的方法: - getPara ...
- 算是学完了《Servlet&JSP学习笔记》,立此存照
我感觉从构架上来说,算是入门了, 终于可以正式进入SPRING的学习啦...爽 代码就不弄了,真的太多了...花了差不多两周呢..
- Servlet&JSP复习笔记 04
1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
随机推荐
- Java - 多线程与锁
进程-线程 进程,Process,处于运行中的程序,系统进行资源分配和调度的独立单位,拥有独立的内存空间(堆). 动态性:生命周期和状态: 独立性:独立实体: 并发性:Concurrency,抢占式多 ...
- 模块化之seaJs学习和使用
使用seaJs也有一阵子了,一直也想抽个时间写个这方面的博客,直到今天才写……也许写的不是很完善,但跟大伙分享也是一种乐趣,不对之处欢迎指出.[抱拳] 时间有限,我这里不过多介绍前端模块化,有兴趣可以 ...
- 863公司 linux软测题
1.浏览目录命令 2.浏览文件命令 3.目录操作命令 4.文件操作命令 5.进程管理命令
- ie下的值改变事件
前两天在页面上写了一个值改变事件,值是用js改变的,用的oninput方法和onpropertyChange方法,但是可能是因为框架的缘故,在ie浏览器下,陷入了莫名其妙的循环中.然后考虑是在加载的时 ...
- C. Ayoub and Lost Array Round #533 (Div. 2) 【DP】
一.题面 链接 二.分析 关于这题,两个点. 第一个点,是需要能够分析出$[L,R]$区间的3的余数的个数. 首先,可以得到,$[L,R]$区间内共有$(R-L+1)$个数. 设定余数为0,1,2的为 ...
- Git sparse-checkout 检出指定目录或文件
根据网上资料整理而来,git 1.7版本后支持的sparse checkout特性,可以指定需要checkout的目录或者文件. # 设置允许git克隆子目录 git config core.spar ...
- Pytorch学习笔记(一)——简介
一.Tensor Tensor是Pytorch中重要的数据结构,可以认为是一个高维数组.Tensor可以是一个标量.一维数组(向量).二维数组(矩阵)或者高维数组等.Tensor和numpy的ndar ...
- 分分钟钟学会Python - 数据类型(int、bool、str)
第三天学习内容 今日内容 1.整型(int) 2.布尔类型(bool) 3.字符串(str) 内容详细 1.整型 Python中的整型用int表示. 1.python2中: 在32位机器上,整数的位数 ...
- springMVC中一些功能
1.controller的生命周期 spring框架默认为单例模式,会使数据之间的传递互相影响,而springMVC给我们提供了request与session两个,request每次请求就会产生一个单 ...
- CSS生成小三角
前言:小三角的应用场景:鼠标移动到某个按钮上面,查看信息详情时,信息详情弹出框有时候会需要一个小三角. 代码如下: <div id='triangle'></div> #tri ...