JAVAEE 实训日志02_20200705 上

文章目录

  • 1.框架技术
      • jsp: 后台程序到服务器的映射, 必须在应用服务器下才能运行
          • JSP加载运行过程
          • 客户端校验
          • JSP_ 页面的作用
          • 静态与动态服务器
          • java web 项目 目录结构
      • tomcat中server配置文件
      • web发布项目
      • JAVAEE
        • Servlet
        • 注意:
          • 补充: 实例编程
      • java程序开发的套路:
    • MVC
        • 1. JSP 早期是由 jsp +java bean = JSP Mode 1
        • 2. JSP Mode2 Type1 : 使用 jsp+servlet + javabean = JSP MOED II
        • 3. JSP Mode2 TypeII : 第三方组件(action) + javabean + orm = JSP MODE2 type2
      • JAVA 机制
      • 字符集

1.框架技术

jsp: 后台程序到服务器的映射, 必须在应用服务器下才能运行

JSP加载运行过程

1.初次加载
	(1)预编译 pre-complie ->> *_jsp.java
	(2)编译 compile  ->>*_jsp.class
	(3)加载 on load ->> running
2.重复加载
	(1)加载内存,实例化
	(2)实例化 instantiation
	(3)初始化 init()
客户端校验

1.js校验
在浏览器中校验, 不需要提交页面到后端(给好人,正常人准备的)
2.服务器校验
jsp, servlet校验
在应用服务器中需要页面提交到后端服务器(给坏人,神经病准备的!!!)

JSP_ 页面的作用

1. 动态网负生成、渲染
数据显示
2. 数据的传输、保存
数据处理
JSP 隐含对象:用来保存、传送jsp页面的数据、实例
Servlet程序三部曲、
1.新创建一个子类,继承HttpServ1et
2. 重写doGetO, doPost0方法,
3. 修改. /NEB-INP /web. xml,增加servlet的URL映射
静态与动态服务器
  1. web服务器(静态服务器)
    apache
  2. 动态服务器(前端服务器)
    tomcat的默认端口号为8080,如果有其他软件占用了此端口,则会导致tomcat不能启动;解决方案:用FPort等软件查看端口使用情况,然后 kill 此进程即可;

tomcat

 目录配置:
/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
/lib:存放所需的所有jar文件(整合了原来tomcat5.5中的common/share/server三个目录下的所有jar)
/logs:存放Tomcat执行时的日志文件
/temp:存放Tomcat运行时所产生的临时文件
/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
/work:存放JSP编译后产生的class文件

resin
jbuss

java web 项目 目录结构

 /web			存放页面及相关材料的
	/js		javascript 文件
	/css		样式表文件
	/img		图片资料
	/WEB-INF	web服务器配置
		web.xml	web服务器配置文件
 /src
	/com.chengdu.learn    java源程序目录
	./dao		持久层包(数据、数据库)
	./business	业务层包(业务逻辑)
	./control	控制器层包(servlet控制器)
	 <service>	
	./domain	JAVABEAN包(数据封装)
	 <valueobject>
	 <vo>
	 <pojo>
	 <javabean>
	./util		公共函数包
	./common	常量定义包
 /lib			项目需要的组件(类库)
 /etc			项目资料
	/sql		数据库安装脚本
 /doc			项目文档


tomcat中server配置文件

配置tomcat时,端口号不能冲突

web发布项目

*.jar java应用程序
*.war web应用程序
*.ear EJB应用程序

JAVAEE

session 就是值浏览器!
java默认是 UNICODE 编码!

Servlet

一. Server + let ,也就是服务器小程序 server let program,运行于服务器端 in server side。 只能在应用服务器运行。
与运行与客户端的小程序Applet对应。
开发时,需要extend继承 HttpServlet ,并rewrite 重写doPost(),doGet()方法。

二.Servlet,JSP 与CGI的比较
1. CGI 公共网关接口 common gateway interface
2. Servlet是持久的 persisted,而CGI是瞬态的 Instantaneous
3. Servlet是快速的 rapid ,内存滞留 memory retention。servlet可以多线程 Multi-thread

三.Servlet与JSP的关系 relation
1. Jsp 就是servlet
2. Jsp 的发布过程: Jsp script 脚本 --> java source源代码 --> class bytecode 字节码
3. Jsp script 是脚本程序, 简单易学, 适合做 user interative 用户交互。 只负责输入输出; Servlet 是java program程序,功能强大,适合做业务调度 business scheduling。

四.Servlet 的执行过程 execution progress
1. 加载 on load
2. 实例化 instantiation
3. 初始化 init()
4. 就绪 be ready
5. 卸载 destory()

五. 响应请求的模式 Response request mode
1. 单实例多线程模式 Single instance multithreading mode
2. 多实例模式 Multi instance pattern

JAVAEE 实训日志02_20200705 上_第1张图片
请求request的变量, 在当前页面共享

A. 服务器 -> 服务器  request.setAttribute
B. 浏览器 -> 服务器  request.getAttribute

八. Servlet的调度 Dispatch
1.服务器页面调度 server page Dispatch

session.setAttribute("errmsg",flag);
request.getRequestDispatcher("/accountlist.jsp")
                       .forward(request,response);
        在进行页面跳转之前,通常要设置request传递的参数。
2.客户端页面调度  client side Dispatch
  response.
sendRedirect("http://support.huawei.com?command=login&user=2433");
        在进行页面跳转的同时,将相关参数放到参数链上。

注意:

  1. 服务器端调度,是在web系统内的页面调度。在调度的时候,传递的参数通常是 通过request、session等对象。 客户的浏览器的地址栏不会同步!!!
  2. 服务器端调度,是在web系统内的页面调度。在调度的时候,传递的参数通常是 通过request、session等对象。
  3. 客户端调度,是基于http请求的调度。传递的参数通常是放在Url string中的。request内的对象无法传递.
  4. 服务器端调度,是在web系统内的页面调度。在调度的时候,传递的参数通常是 通过request、session等对象。 客户的浏览器的地址栏不会同步!!!
补充: 实例编程
Level 1.  简单配置和发布;
 表格内容显示

Level 2.  简单动态页面;
 表单 提交, 响应request请求

Level 3.  静态参数读取。
  全局参数、servlet参数

Level 4.  Session 参数传递。
  参数的传递

Level 5. 页面调度。
  Servlet实现页面流转的两种方式

Level 6. 监听器。
  监听Session创建过程,及属性改变过程。

Level 7. 过滤器。
      用户访问web页面,系统预处理。

Level 8. 多媒体数据流。
      用servlet实现图片显示。

Level 9. 图片上传。
      用servlet实现图片的上传。

java程序开发的套路:

  1. 面向接口的编程
    解决系统对接通用性的问题
  2. 控制反转
  3. 设计模式

MVC

实现了主页面(列表页)的同步刷新,href是要关联刷新的页面,即设置同步
 <body onload="window.opener.location.href='xx.jsp'">

JAVAEE 实训日志02_20200705 上_第2张图片

1. JSP 早期是由 jsp +java bean = JSP Mode 1

	问题A: 界面渲染跟功能没有分离, 程序员和美工UI 都很痛苦
	问题B: jsp页面数据不安全, 容易泄露和篡改 

JAVAEE 实训日志02_20200705 上_第3张图片

2. JSP Mode2 Type1 : 使用 jsp+servlet + javabean = JSP MOED II

问题: A. JSP只负责渲染,显示
B. Servlet/action 负责数据存储, 转化, 页面调度等等
改进: 将验证部分放到了 java控制器中, 在web.xml 中配置控制器
JAVAEE 实训日志02_20200705 上_第4张图片

3. JSP Mode2 TypeII : 第三方组件(action) + javabean + orm = JSP MODE2 type2

JAVAEE 实训日志02_20200705 上_第5张图片

JAVA 机制

  1. 反射机制 refaltion: 即逆向检索

字符集

JAVAEE 实训日志02_20200705 上_第6张图片
JAVAEE 实训日志02_20200705 上_第7张图片

你可能感兴趣的:(JAVAEE,实训)