java EE
基础
前端脚本:能够被浏览器识别,并能够被理解的脚本,例如html,css,js. java将这些脚本都看成字符串
后端脚本:服务器脚本,java,php,c#,.net,能够同过服务器编译执行的
静态页面:全部由为端脚本的页面文件
动态页面:通过后端脚本执行完成的页面
javaEE处理机制:(必须理解,背死,不光java,也适合用于其他的前端请求)核心机制,也是程序调试的根源
1.前端(浏览器)发出请求
前端请求种类:
1.URL重定向:< a>标签,location,href,open(),f5刷新 都是前端请求(GET请求)
2.from表单请求 文件上传 GET,POST请求
3.ajax请求 异步请求,页面不刷新 GET,POST请求
2.web服务接收并解析
(1)request对象,请求全部内容(源头,目的,内容)
(2)response对象,回应对象,写入处理结果
(3)context对象,上下文对象 指定应用相关信息
3.指定应用程序(即站点)处理
(1)web,xml等配置文件
4.应用指定处理代码
(1)地址解析,通过地址指定位置
5.读取请求,处理业务
(1)获取request对象,增删改查
6.回应处理结果(回应给请求发送者)
(1)html内容渲染,将结果写入response对象(能被浏览器识别的,对象不能被识别,所以需要渲染)
7.浏览器解析回应内容进行显示
(1)接受到response对象的http数据,处理
web服务: tomcat阻塞,nginx非阻塞;;端口监听(接收网络请求,这是进程监听), http解析(把请求转化成对象,因为java不认请求), 应用容器(可以放置多个站点)
1.tomcat服务器
(1)安装开发配置:
2中安装方法:1.安装版,下一步就行,小心端口冲突 2.解压版,适合绿色开发,不适合实施
开发设置:@1.eclipse-window-属性-server-runtime env,按钮add,选中版本,设置路径+jdk,保存
注意:环境只需一套
@2.window-show view-server窗口
点击窗口内的超连,自动创建server项目,当前应用容器配置项目
在初次使用前,可更改发布路径
(2)设置
1.web.xml
2.server.xml
端口号,默认8080
发布目录webapps
日志目录logs
(3)目录
bin
tomcat-juli.jar myeclipse设置时需要
starup.bat 绿色版启动服务的
tomcat.exe 安装版窗口启动服务
conf
配置文件
lib
开发支持库
logs
日志
work,可删除,发布
运行时的编译文件,jsp所生成的java,class文件
webapps
发布路径
ROOT文件夹为默认站点发布路径,不需站点名称
缓存清理:
清理项目缓存,eclipse:project菜单clean,如不清理导致执行结果和未改前一样
浏览器缓存,前端缓存:清空浏览器历史记录,针对css,js文件无刷新
web缓存,tomcat发布缓存:servers/clean,文件夹删除;;启动tomcat时,自动加载全部站点,启动速度慢,启动错项目,异常联动
方法:删除servers项目,删除发布路径
新站点:
创建 dynamic project,必须设置server runtime
目录
java resource/src文件夹 java代码
WebContent 站点根目录(网站系统) 放置页面,css,js
/META-INF 站点签名(一般不用)
/WEB-INF 配置文件夹,不能网站访问
/lib 额外jar包自动引用
/web.xml 项目配置文件//默认没有,有的话就会覆盖tomcat中的,这之中可以更改首页
jsp
动态页面
编译指令
@page类描述
<%@page import=“java.util.List” %>
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” isELIgnored=“false” isErrorPage=“false”%>
isELIgnored:EL表达式支持
isErrorPage:异常处理页指定
@include 静态引入(生成java文件时导入)<%@include file=“a.jsp” %>
@tiglib 导入后台标签库<%@taglib prefix=“c” uri="" %>//c是标签库别名,uri是位置的标识,具体指向哪看配置信息
静态脚本
用法
1.<% java代码%>执行java代码
2.<%=变量%> 输出java变量的值
行为标签(jsp行为标签)
jsp:include动态引入 执行时导入<jsp:include page=“a.jsp”></jsp:include>
jsp.forward 请求转发<jsp:forward page=“a.jsp”></jsp:forward>
内置对象:(写在java代码块中,直接对前端输出)
out 输出 out.write(i+"
");//在java脚本中
request 请求对象
int pos=Integer.valueOf(request.getParameter(“count”));//获取请求参数
request.setAttribute(key,val);//设置request服务器变量
request.getAttribute(key);
response 回应对象
response.setContentType(“text/html;charset=‘utf-8’”)告诉浏览器
response.getWriter().write(“fsfgawg”);
session 会话对象
application 应用对象
page 就是jsp页的this 忽略
pageContext 页面上下文
config 页面配置信息,在web.xml设置