javaSE 基础
javaWeb 开发一些网页的相关应用
JAVA开发框架
根据方向学习
JAVAEE 分布式知识 后台开发知识
大数据
移动端的开发 安卓
前端
javaWeb阶段 基于http协议 最早的开发 进行超文本超媒体数据的传输
静态web 浏览器直接访问 html
Applet 浏览器植入一个jvm 不常用
动态web 浏览器发出请求 到一个服务插件 判断静态动态 静态直接访问 动态到web容器处理 然后到web服务器
B/S模式 Browser Server 浏览器 服务器
C/S模式 Client Server 客户端(例如qq) 服务器
动态web实现方式
1.CGI公共网关接口 不常用
2.PHP超文本预处理
3.ASP动态服务页 不常用
4.ASP.NET
5.JSP 服务页/Servlet服务器端小程序
企业开发架构
开发平台 JAVA EE
↑
中间件 Tomcat JBoss WebLogic //第三方组件
↑
数据库 DB2 Oracle MySQL
↑
操作系统 Linux(常用) UNIX WINDOWS
JAVA EE架构
05年之前叫J2EE
JAVA SE基础上建立起来的 主要在企业级开发
完整架构
Applet容器
Application Client 容器
web容器 JSP Servlet
EJB容器
以上容器 都连接一个数据库
JAVA EE 在企业环境中的位置
客户端←→中间件←→企业信息系统层
正式开始
Tomcat容器 Apache软件基金会的一个项目
比较稳定 免费 不支持EJB开发
端口号
Localhost 8080
一个虚拟目录中必须包含WEB-INF
配置虚拟目录 完整的一个WEB项目
通过/java映射到其他磁盘位置
<Context path = "/java" docBase="E:/文件">
项目工作空间(开发环境)与 Tomcat部署之后运行环境的地方不一样(主)
编写jsp文件
jsp执行 hello.jsp
读取jsp文件
生成java文件
编译成class
执行class文件 返回服务器
WEB最大特点 交互性
表单信息
配置项listings列出文件目录 不安全
列出文件项
jsp起源
为了弥补Servlet
为了简化开发
out.println 页面输出
system.out.println 后台输出
<%%>脚本片段
jsp文件不能放在WEB-INF下
<%= %>数据
<!--注释 -->显示注释
// /**/ <%-- --%>隐式注释
Scriptlet
<%%>
<%!%>全局
<%=%> 减少html java代码的耦合性
eg <%
String name = "shangsan"
%>
<h1>姓名:<%=name %></h1>
page指令
设置类型导入包
指令属性
1.autoFlush 当缓冲区满时 到客户端的输出被刷新 设置为false时 满时出现异常默认为true
2.buffer 指定客户端输出流的缓冲模式 none为不设置缓冲区 和autoFlush一起使用
3.contentType 定义jsp字符的编码和页面的响应MIME类型 contentType="text/html; charset=GBK" 中文
4.errorPage 定义此页面出错时要跳转的显示页 eg errorPage=“error.jsp”与isErrorPage属性一起使用
5.extends 定义此jsp页面产生的Servlet是从哪个父类扩展而来 eg extends=“父类名称”
6.import 此jsp页面要导入哪几个操作包 eg import=“java.util”
7.info 此jsp页面信息 info=“text.info”
8.isErrorPage 表示设置此页面是否为出错的处理页 true 可以处理 false 无法处理
9.isThreadSafe 表示此页面是否是线程安全 true表示一个jsp页面可以处理多个用户的请求 false只能处理一个
10.language 定义要使用的脚本语言 目前只能是java language=“java”
11.pageEncoding jsp页面的字符编码 默认值为pageEncoding=“iso-8859-1”
12.session 指定所在页面是否参与HTTP会话 默认为true
application/msword 下载
<%@ %>
MIME
<%@ page language="java" contentType="text/html;charset=CBK"%>
contentType类型参考Tomcat目录\conf\web.xml
其中包含mime值
pageEncoding存在 决定jsp编码 不存在由charset决定
两者都不存在ISO8859-1
错误页设置
1.指定错误出现时 跳转
2.错误处理页要有明确的标识
Import属性 导包
Include指令 包含操作 使重复的代码包含起来
静态包含
<h1>静态包含操作</h1>
<%@ include file = "info.html" %>
<%@ include file = "info.jsp" %>
动态包含
jsp:include
<h1>动态包含</h1>
<jsp:include page="info.html"></jsp:include>
<jsp:include page="info.jsp"></jsp:include>
可以传参
姓名=<%=request.getParameter("name") %>
信息=<%=request.getParameter("info") %>
<body>
<%
String msg = "user info";
%>
<h1>动态包含</h1>
<jsp:include page="receive.jsp">
<jsp:param value="zhansgan" name="name"/>
<jsp:param value="<%=msg %>" name="info"/>
</jsp:include>
</body>
静态包含 先包含后处理 include
动态包含 先处理 后将结果包进去 jsp:include 避免变量冲突
<%
int x= 10;
%>
include.jsp<%=x %>
<body>
<%
int x = 100;
%>
Demo4.jsp<%=x %>
<%-- <%@ include file="include.jsp" %> --%>
<jsp:include page="include.jsp"></jsp:include><!-- 避免参数重复 -->
</body>
跳转指令jsp:forward
不传递参数:<jsp:forward page="{要跳转的文件路径|<%=表达式%>}"/>
传递参数 <jsp:forward page="{要跳转的文件路径|<%=表达式%>}"/>
<jsp:param name = "参数名称" value=“参数内容”/>
可以向被包含的页面中传递多个参数
跳转操作属于服务器端跳转 跳转之后页面路径不改变