一、JavaEE入门
JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发(不需要使用控制台)平台。最早由Sun公司定制并发布,后由Oracle负责维护。
JavaEE平台规范了在开发企业级web应用中的技术标准。
在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会有增多)。它们分别是:JDBC、JNDI、EJB、RMI、Servlet、JSP、XML、JMS、Java IDL、JPA、JTA、JavaMail和JAF。
说明:Servlet2.5及以前是使用web.xml的配置方式,3.0及以后可以使用注解的方式进行配置。
1. JavaEE案例要使用到浏览器、服务器(Tomcat)、数据库。
2. JavaEE案例程序不是通过main方法来运行,而是要放在服务器(Tomcat)来运行。
3. JavaEE案例要使用到Servlet和jsp两个技术,而且多了一个web.xml文件做配置。
4. JavaEE案例是将结果给打印到了浏览器上,而不是控制台上!
5. JavaEE案例可以让更多的人去访问!
二、HTTP协议
浏览器与服务器之间发送数据的时候,是要有格式的,是双方约定好的格式。这样双方才能认识对方发送的数据!
这个格式我们称之为协议(在互联网中主机与主机之间进行访问沟通都需要使用特定的协议)
1.Http介绍
超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容。
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, HTTP是万维网(WWW:World Wide Web)的数据通信的基础。
HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
OSI七层网络模型(开放系统网络通信参考模型):
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件, 图片文件, 查询结果等);
2.Http特点
支持客户端/服务器模式
简单快速
灵活(传输的数据类型多样)
短连接
短链接是指每次请求响应完成后,连接会自动断开。从http1.1开始,我们使用的是长连接,长连接是每次请求响应完成后,连接会保持一小段的存活时间,供之后的请求使用。长连接要比短连接的效率高!
单向性
服务端永远是被动的等待客户端(浏览器)的请求。
无状态
无状态是指协议对于事务处理没有记忆能力。每次请求都需要重新传递参数。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,用户体验度也不好。
3.Http中URL与URI
3.1URL同一资源定位符
URL(Uniform Resource Location统一资源定位符),可以帮助我们唯一定位互联网上的某一个资源,相当于是互联网资源的身份证号。URL由五个元素组成:
- 传送协议
- 域名或者IP地址
- 端口号(以数字方式表示,若为HTTP的默认值“:80”可省略)
- 请求资源路径
- 传递数据(在URL中传递数据是以key=value的结构进行数据绑定,以“?”字符为起点,每个参数以“&”隔开通常以UTF8的URL编码,避开字符冲突的问题)
举例:http://127.0.0.1:8080/demo1/HelloServlet?name=尚学堂&birthday=1992-05-09
http:// 是协议
127.0.0.1是ip地址,也可以是域名
8080 是端口号
/demo1/HelloServlet 是请求资源路径,也就是URI
name=xxx&birthday=1992-05-09 是请求传递的参数
3.2 URI统一资源标识符
URI:(Uniform Resource Identifier),统一资源标识符,是一个用于标识某一互联网资源名称的字符串。
URI是一个特别抽象的概念,URL包含了URI。
在Java中,当获取请求URI时,常是/demo1/HelloServlet。
3.3 常用状态码及含义:
200 - 请求成功,已经正常处理完毕
301 - 请求永久重定向,转移到其它URL
302 - 请求临时重定向
304 - 请求被重定向到客户端本地缓存
400 - 客户端请求存在语法错误(客户端传递的数据类型不是后端想要的类型)
401 - 客户端请求没有经过授权
403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限
404 - 资源未找到,客户端请求的URL在服务端不存在
405 – 请求方式不支持
500 - 服务端出现异常
三、服务器
1.服务器介绍
1. 硬件服务器的构成与一般的PC比较相似,但是服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。
2. 软件服务器(英文名称Server),也称伺服器。指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。
2.服务器分类
3. JavaEE应用服务器
应用服务器是Java EE规范的具体实现, 可以执行/驱动基于JavaEE平台开发的web项目。绝大部分的应用服务器都是付费产品。
常见的应用服务器:
1. Weblogic(BEA Oracle 收费)
2. Webshpere(IBM 收费)
3. JBoss(RedHad 收费)
4. Resin(Caucho 收费)
5. JRun(Macromedia 收费)
6. Geronimo(Apache 免费)
4. Web服务器
只实现了JavaEE平台下部分技术标准,如Servlet,Jsp,JNDI,JavaMail。Web容器是开源免费的。
Tomcat(Apache 开源免费)
Jetty(Jetty 开源免费)
5.Tomcat配置与使用
5.1下载
下载地址:Apache Tomcat® - Welcome!
Tomcat是一款绿色软件,我们下载压缩包,解压即可使用!
注意:要配置jdk的JAVA_HOME环境变量,否则startup.bat一闪而过
5.2目录结构及配置
5.2.1目录结构介绍
bin:用来存放Tomcat服务器的可执行程序,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
conf:用来存放Tomcat服务器的配置文件
lib:用来存放Tomcat服务器的jar包
logs:用来存放Tomcat服务器运行时输出的日志信息
temp:用来存放Tomcat服务器运行时产生的临时数据
webapps:用来存放Tomcat服务器部署的工程
work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码和编译后的文件
5.2.2Tomcat启动与关闭
Tomcat的启动与关闭需要执行bin目录中的命令脚本。
注意: 如果启动时闪退,是因为JDK的环境变量配置不规范,需要重新配置。