1.动态网站开发基础
1.1.C/S 与 B/S
- C/S结构应用程序(Client/Server):客户端——服务器结构。 凡是需要在客户的机器上安装客户端软件的应用程序都是CS架构的应用程序。
- 优点:响应速度快,安全性强,一般应用于局域网中。
- 缺点:需要经常更新客户端,开发维护成本高。
- B/S结构应用程序(Browser/Server):浏览器——服务器结构。 凡是使用浏览器运行的应用程序都是BS架构的应用程序。
- 优点:跨平台,客户端零维护,即不需要更新客户端。
- 缺点:响应速度受制于网络。
1.2.Web开发的请求响应模式
B/S结构中浏览器端与服务器端采用请求/响应模式进行交互
注意:
- 传统的超链接、表单等提交请求方式为同步请求。也就是说:当一个请求发送后,在响应没有返回之前,程序不会继续往下运行。
- 使用ajax提交方式为异步请求。也就是说:当一个请求发送后,在响应没有返回之前,程序会继续往下运行。
1.3.HTTP协议
HTTP协议:(HyperText Transfer Protocol)超文本传输协议。
http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。
也就是说:HTTP协议规范客户端和服务端之间进行请求和响应的格式:
- HTTP请求信息组成:
- 请求行:
- 请求方式:POST、GET
- 请求的资源:/DemoEE/form.html
- 协议版本:HTTP/1.1(一般都是)
- 请求头:请求头是客户端发送给服务器端的一些信息,使用键值对表示key:value
- 请求体:
- 请求方式是post的时,请求体有请求的参数,格式如下:name=zhangsan&password=123
- 如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面
- 请求行:
HTTP响应信息组成:
- 响应行:http状态码
- 响应头:响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端。
- 响应体:响应体是服务器回写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染,显示页面内容
1.4.URL简介
URL:Uniform Resource Locator 即统一资源定位符:用于完整地描述Internet上网页和其他资源的地址的一种标识方法。就是我们通常所说的网址。 URL是惟一能够识别Internet上具体的计算机、目录或文件位置的命名约定。1.5.Web服务器简介
Web 服务器通过 HTTP 协议与客户端通信,学习Web开发,需要安装一台web服务器,然后再在Web服务器中部署相应的web资源,供用户使用浏览器访问。常用Web服务器有:
IIS Windows产品自带的一种免费的Web服务器,安装配置简单,主要解析的是ASP程序代码。
- Apache 世界排名第一、免费开源的Web服务器软件,它以跨平台、高效和稳定而闻名,是最流行的Web服务器端软件之一。
- Tomcat 服务器(后续学习采用此服务器) Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web应用服务器。
- Nginx Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后起之秀。
- WebSphere,IBM公司的产品(商业化的专业服务器)。
WebLogic ,BEA公司的产品(商业化的专业服务器)。
2.javaEE简介
javaEE是java的企业级版本,可以用来开发BS结构应用程序。 开发javaEE应用程序需要的工具:
jdk(javaSE环境)
-
2.1.Tomcat服务器
2.1.1.安装Tomcat服务器
双击“apache-tomcat-8.5.55.exe”进行安装。
- 安装完毕后,配置Tomcat环境变量。
- CATALINA_HOME:Tomcat安装路径
- PATH:%CATALINA_HOME%\bin
- 在命令行中,进入Tomcat安装目录,在进入bin目录,双击Tomcat8.exe,或者双击startup.bat 启动服务
- 在命令行中出现:Server startup in 800 ms ,并且没有出现异常,那么表示Tomcat启动成功。
打开浏览器,在地址栏中输入:http://localhost:8080/ 就可以看到Tomcat自带的管理界面了。
2.1.2.Tomcat目录结构
2.1.3.Tomcat配置
在Tomcat安装目录下的conf文件夹中,存放Tomcat的一些配置文件。主要有:
server.xml:主配置文件
实例:打开server.xml配置文件,修改Tomcat默认端口:<!-- 将默认的8080端口修改为8088 -->
<Connector port="8088" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
web.xml:遵循Servlet规范标准的配置文件,用于配置servlet。
实例:打开web.xml配置文件,修改session默认超时时间:<!-- 将session默认超时时间修改为15分钟 --> <session-config> <session-timeout>15</session-timeout> </session-config>
2.3.javaEE标准目录结构
一个标准的javaEE工程,它的目录结构必须遵循如下标准:
上图中,黑色部分为可选内容
2.4.Hello World程序
接下来,我们就可以严格按照javaEE标准目录结构,创建我们的第一个javaWeb工程,并且将此工程部署在Tomcat的webapps目录下。
web.xml文件:
<web-app>
</web-app>
index.html文件:
hello world!
最后,启动Tomcat,然后打开浏览器,在地址栏中输入:http://localhost:8080/hello/index.html 就可以看到网页上输出 hello world!
2.5.在STS下开发javaWeb应用程序
首先在STS下配置Tomcat:
- Window -> Preferences -> Server -> Runtime Environments -> 出现 “Server Runtime Environments” 窗口。
- 点击“Add…” 按钮 -> 进入 “New Server Runtime Environment” 窗口。
- 选择Apache -> 选择一个Tomcat版本-> 点击 “Next” 按钮,进入 “Tomcat Server” 窗口。
- 点击 “Browse…” 按钮,选择Tomcat安装路径。点击 “Finish” 按钮。
- 回到 “Server Runtime Environments” 窗口,点击 “Apply and Close” 按钮
然后在STS中创建一个Tomcat镜像,这样就可以在Tomcat中操作Tomcat了:
- 在Tomcat的Servers窗口中,鼠标右键 -> New -> Server 进入 “Define a New Server” 窗口。
- 选择Apache -> 选择一个Tomcat版本(这里选择8.5),点击 “Finish” 按钮。
- 在Tomcat的Servers窗口中,就会创建一个Tomcat镜像。“Tomcat v8.5 Server at localhost [stopped]”
接着,在STS中创建一个javaWeb应用程序。
- File -> New -> Other… 进入 “Select a wizard” 窗口。
- Web -> Dynamic Web Project -> 点击 “Next” 按钮,进入 “Dynamic Web Project” 窗口。
- 在Project name 文本框中输入工程名,点击 “Next”,进入 “Java” 窗口。
- 继续点击 “Next” ,进入 “Web Module” 窗口。
- 将 “Generate web.xml deployment descriptor” 选中,这样就可以自动创建web.xml文件。点击 “Finish” 按钮,那么一个javaWeb工程就创建好了。
- 在新创建的工程中,在WebContent文件夹中,创建index.html文件,并写入内容。
最后,将创建好的javaWeb工程添加到Tomcat镜像中
- 在Tomcat的Servers窗口中,右键单击Tomcat镜像(“Tomcat v8.5 Server at localhost [stopped]”),在右键菜单中选择 “Add and Remove” 进入这个窗口。
- 将新创建的工程,从左边窗口,移入到右边窗口,这就将工程添加到Tomcat镜像中。点击 “Finish” 。
- 在Tomcat的Servers窗口中,点击 “Start the server” 按钮,启动Tomcat。
-
课后作业 简述C/S应用程序与B/S应用程序的区别?
- 简述URL的各个组成部分?
- 简述如何修改Tomcat的端口号?
- 简述JAVAEE工程的标准目录结构?
- 简述同步请求模式与异步请求模式的区别?
[