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 ...
随机推荐
- 重置root密码
一. ubuntu忘记密码解决方法 1. 开机按shift 2. 选择高级选项,进入后选择恢复模式(不要按回车),按e进入编辑模式 3. 修改linux命令中的recovery nomodest 为 ...
- wireshark的安装
wireshark是一款很强大的软件,我第一次接触是在计算机网络的课上,正是运用这款软件的时候. 下面我来介绍一下当初我安装时候的问题,方便大家的使用和参考 Wireshark(前称Ethereal) ...
- webpack中设置jquery为全局对象
通过npm安装jquery npm install jquery -D 然后配置webpack-config.js plugins: [ new webpack.ProvidePlugin({ $: ...
- IOS开发之——objectForKey与valueForKey在NSDictionary中的差异
从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢? 先从 NSDictionary 文档中来看这两个方法的定义: ...
- sql 列集合
STUFF((SELECT ','+CAST( TYZ_Bh as varchar(10)) FROM #1 where 片区划分='江东' for xml path('')),1,1,'')
- Chrome打开网页都提示Flash Player因过期而遭到阻止
1. 运行Chrome浏览器,地址栏输入:chrome://plugins/,找到pepflashplayer.dll安装位置, 如:D:\Program Files\GoogleChromePort ...
- shell map使用
# 定义初始化map declare -A map=([") # 输出所有key echo ${map[@]} # 输出key对应的值 "]} # 遍历map for key in ...
- 分分钟钟学会Python - 数据类型(list、tuple)
第四节 数据类型(列表.元祖) 今日内容 列表 元祖 1.列表 1.格式 users = ["ji",1,3,"gyhj"] 2.公共方法 1.len #计算长 ...
- iozone文件系统测试工具在AM335x上的移植
IOzone下载 下载地址:http://www.iozone.org 如下: 解压iozone,并进入到解压路径下的src/current 我的是 iozone3_487 命令:cd i ...
- 我的Python升级打怪之路【三】:Python函数
函数 在函数之前,我们一直遵循者:面向过程编程,即:根据业务逻辑从上到下实现功能,开发过程中最常见的就是粘贴复制.代码就没有重复利用率. 例如:有好多的重复的代码 if 条件: 发送指令 接收结果 e ...