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 ...
随机推荐
- vue-cli中的webpack打包配置
如下: assetsSubDirectory: 'static', assetsPublicPath: '/projectName/', 其中assetsSubDirectory是代表服务器上的实际路 ...
- SCTP
流控制传输协议是为了替代UDP.TCP实现七号信令传输的. HS DPA high speed download packet access. HS UPA ... 通信人 Orthogonal f ...
- Mike
- Mac os x的发展
OS X(前称Mac OS X)是苹果公司为麦金塔电脑开发的专属操作系统.Mac OS X于1998年首次推出,并从2002年起随麦金塔电脑发售.它是一套Unix基础的操作系统,包含两个主要的部分:核 ...
- my35_MGR添加新节点
MGR添加节点主要涉及以下两个参数 group_replication_group_seeds #可以动态修改 group_replication_ip_whitelist #需要关闭 ...
- [总]Android高级进阶之路
个人Android高级进阶之路,目前按照这个目录执行,执行完毕再做扩展!!!!! 一.View的绘制 1)setContentView()的源码分析 2)SnackBar的源码分析 3)利用decor ...
- Java数组总结
1.1 Arrays jdk中为了便于开发,给开发者提供了Arrays(在Jdk的Util包中)类,其中包括了很多数组的常用操作.列如快速输出,排序,查找等. 1.1.1 ...
- loadView 与 viewDidLoad 和 didReceiveMemoryWarning与viewDidUnload 详解
首先试验下:viewController初始化 分两个支路:initWithNibName加载初始化 及 init 直接初始化: <1>调用initWithNibName加载一个xib界面 ...
- MySQL备份和还原数据
MySQL备份和还原数据 导出整个数据库 mysqldump -uroot -p database_name > db_backup.sql 导入整个数据库 mysql -uroot -p da ...
- JavaScript数组forEach循环
JavaScript数组forEach循环 今天写JavaScript代码把forEach循环数组忘记写法了,在此记录一下以防止未来忘记. let a = [1, 2, 3]; a.forEach(f ...