JSP整理篇

来源:互联网 发布:5s怎么备份所有数据 编辑:程序博客网 时间:2024/05/09 09:28

第1章节

慕课网

1.软件开发的三大领域:

桌面应用程序:QQ等
Web应用程序:天猫、京东
移动互联网:安卓、苹果开发等。
对于一般多数人基本走2者,然后基本上java是每个搞开发的人必学的了。

2.Tomcat服务器

  • 是Apache下开源的项目
  • JSP/Servlet容器

3.Tomcat的目录结构

2
在/bin下会有个startup/shutdown的windows脚本,是关闭和启动tomcat的。

4.修改Tomcat默认端口号:

这里写图片描述

第2章节:JSP基础语法

JSP简介

注意:JSP其实是1种简化的Servlet技术,为什么这么说呢?因为你写好的JSP编译后,在tomcat发布下后,会发现jsp会被转化成servlet,然后被编译成一种.class文件;
其实Servlet自己就可以把页面+后端逻辑全部自己显示出来,但是因为这样子搞得servlet内部代码臃肿,所以就用jsp来分开做。
这里写图片描述

常见动态网站开发技术对比

这里写图片描述

JSP页面元素

这里写图片描述
JSP指令
这里写图片描述
page指令
这里写图片描述
如下所示:

<%@ page contentType="text/html;charset=UTF-8" import="java.util.*" language="java" %>

JSP注释

这里写图片描述

<body><!--我是HTML注释--><%-- 我是JSP注释,客户端不可见--%><%    //单行注释    /*多行注释*/    //不可见%></body>

JSP脚本

这里写图片描述

<%out.println("hello world!");%>

JSP声明

这里写图片描述

<%!    String s = "lwx";//声明1个字符串变量    int add(int x ,int y)//声明l一个方法    {        return x+y;    }%>

JSP表达式

这里写图片描述

<br><%=s %><br>x+y=<%=add(10,5)%>

重要点:JSP页面生命周期

这里写图片描述
这里写图片描述
所以,当JSP页面内容改变后就需要重新启动Tomcat,重新编译运行,遇到过一个坑,这里。

第3章节

JSP内置对象

.右边单个列出的比较常用
这里写图片描述

缓冲区的概念:(百度)

缓冲区无非就是定义了一个数组,并对外提供了更多的方法对数组进行访问。
其实这些方法最终操作的都是数组的角标。
缓冲的原理:
其实就是从源中获取一批数据装进缓冲区中,再从缓冲区中不断地取出一个一个的数据。
在此次取完后,再从源中继续取出下一批数据进入缓冲区。当源中的数据取完后,用-1作为结束标记。
这里写图片描述
将数据源一部分加载到内存,然后需要用的时候直接在内存中操作,而不是再去从源文件读取,加快读写速度;

out对象的API

这里写图片描述
结合例子在学习缓冲区的flush()
前面3句会利用缓冲区一下子输出来,而后面2句就会分开一句一句输出,
加上flush()后会导致缓冲区变大了;

<%    out.println("<h2> 你好</h2>");    out.println("<h2> 你好</h2>");    out.println("<h2> 你好</h2>");    out.flush();    out.println("<h2> 你好</h2>");    out.println("<h2> 你好</h2>");%>缓冲区大小:<%= out.getBufferSize()%>byte<br>缓冲区剩余大小:<%= out.getRemaining()%><br>是否自动清空:<%=out.isAutoFlush()%>

Get、Post区别

这里写图片描述

request对象

这里写图片描述
这里写图片描述
1.表单传参

    用户名:<%=request.getParameter("username")%><br>    爱好:<%            String [] favorites =  request.getParameterValues("favorite");            for (String i : favorites)                out.println(i);            %>

关于中文乱码问题:
你编写的注册页面是UTF-8的,但是用户填写的如果是中文,则默认用IOS-8859-1编写,所以到后台需要set成utf-8进行转码,然后再相应回去,就是你编写页面的UTF-8了。
2. URL传参

   <a href="request.jsp?username=list">测试URL传参数</a>

注意: 如果URL带中文参数,需要配置tomcat的配置文件来修正。

这2中都可以用request对象得到他们的参数

<%    request.setAttribute("password","13215");%>    密码:<%=request.getAttribute("password")%><br>    请求体的MIME类型:<%=request.getContentType() %><br>    协议类型及版本号:<%=request.getProtocol() %><br>    服务器主机名:<%=request.getServerName() %><br>    服务器端口号:<%=request.getServerPort() %><br>    请求文件的长度:<%=request.getContentLength() %><br>    请求客户端的IP地址:<%=request.getRemoteAddr() %><br>    请求的真实路径:<%=request.getRealPath("hello.jsp") %><br>    请求的上下文路径:<%=request.getContextPath() %><br>

注意;上下文路径:项目的虚拟路径。

response对象

这里写图片描述
答案:提前于内置对象out输出;
解决:用out.flush()清空缓冲区

请求重定向与请求转发

这里写图片描述

Seesion对象

1.session简介:
这里写图片描述
这里写图片描述
2.
这里写图片描述
Session的API
这里写图片描述
session会话超时时间设置
这里写图片描述

application对象

application简介:
这里写图片描述
application对象的API
这里写图片描述

Page对象

Page对象的API
这里写图片描述

pageContext对象

这里写图片描述

Config对象

这里写图片描述

exceptin对象

这里写图片描述
注:
抛出异常页面<@errorPage=”exception.jsp”>,指定异常处理的页面
处理异常页面加isErrorPage=”true”,才能用exception对象

阶段项目实现第一种方式1

可以使用内置对象来完成,后面会用到分层javaBeans来实现它。

第4章节:JavaBeans

JavaBeans设计原则
这里写图片描述
例子:
这里写图片描述

JSP动作标签

这里写图片描述

利用useBeans动作标签使用javaBeans

如果不使用动作标签,则在JSP页面使用javaBeans的话,需要import;
但是如果使用的话,看下面的实例:(其实就是和使用框架一样,简化许多)
这里写图片描述

setProperty为javaBeans设值

方法:
这里写图片描述
例子:
这里写图片描述

使用getProperty来获取javaBeans的属性值

方法:
这里写图片描述
例子:
这里写图片描述

javabeans4个作用域测试

这里写图片描述
1.scope = applicaiton的测试例子
这里写图片描述
其他的3种类似这样子

Model1模型

这里写图片描述
用法:
利用模型1的思想javabeans技术来实现上次阶段项目

第5章节JSP状态管理

这里写图片描述

Cookie的作用

他是保存在客户端的一系列文本
例如:购物车的使用;浏览记录,记录浏览过视频记录;自动登陆等
这里写图片描述

JSP页面使用cookie

这里写图片描述
Cookie的API
这里写图片描述
注意:当用Cookie保存中文时,需要用到java.net包下的编码解码类来处理,不然会出现500错误
这里写图片描述

session与cookie的对比

这里写图片描述

第7章节指令与动作

include指令与include动作

这里写图片描述
这里写图片描述
2者之间的区别
这里写图片描述

forward动作

这里写图片描述

param动作

这里写图片描述
例子:
这里写图片描述