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 ...
随机推荐
- Nginx+Apache动静分离
Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术.动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项 针对PHP的动 ...
- JMeter—断言
断言用来对服务器的响应数据做验证,常用的断言是响应断言,支持正则表达式. 一.BeanShell Assertion 用来访问JMeter的属性: log对象,可以利用此对象写日志 SampleRes ...
- 重载<<运算符第二个参数必须加上const
如题,在重载<<时不停的报错,说找不到匹配的函数,仔细观察和书上的样例对比后发现,我的第二个参数缺少了一个const,抱着试一试的心态,因为平时也没注意const这个东西,也不经常用,试了 ...
- P4491 [HAOI2018]染色 容斥+NTT
$ \color{#0066ff}{ 题目描述 }$ 为了报答小 C 的苹果, 小 G 打算送给热爱美术的小 C 一块画布, 这块画布可 以抽象为一个长度为 \(N\) 的序列, 每个位置都可以被染成 ...
- ORACLE INSERT ALL 用法
1INSERT ALL 1.1句法 multi_table_insert :: = conditional_insert_clause :: = 1.2multi_table_insert 在多表插入 ...
- es与hive整合
在hive classpath中添加elasticsearch-hadoop.jar,以下方法任一种均可: 1.启动hiveserver2 前,在hive-site.xml文件中更改hive.aux. ...
- 那些H5用到的技术(1)——素材加载
编码环境前言什么时候用到素材加载?loading提示,让用户等待图片的加载音频的加载利用神器PreloadJS总结 编码环境 Sublime Text 3 插件包括: Autoprefixer 自动补 ...
- AngularJs学习笔记--Managing Service Dependencies
原版地址:http://docs.angularjs.org/guide/dev_guide.services.managing_dependencies angular允许service将其他ser ...
- 关于null的操作
空值 空值一般用NULL表示 一般表示未知的.不确定的值,也不是空格 一般运算符与其进行运算时,都会为空 空不与任何值相等 表示某个列为空用:IS NULL 不能使用COMM=NULL这种形式 某个 ...
- linux mint 18.1 安装nvidia显卡驱动
原文地址 http://www.gamersonlinux.com/forum/threads/updating-nvidia-drivers-mint.1746/ 主要步骤很简答 就是将ppa仓库地 ...