目录
一、程序开发体系结构
1.1 C/S体系结构
1.2 B/S体系结构
二、Web服务器
2.1 概念
2.1.1 什么是Web
2.1.2 什么是Web服务器
2.2 常见Web服务器
2.3 Tomcat服务器
2.3.1 Tomcat的下载
2.3.2 Tomcat的安装
2.3.3 Tomcat的目录结构
2.3.4 Tomcat的启动
2.3.5 Tomcat的停止
2.3.6 修改Tomcat端口号
2.3.7 项目部署及静态资源访问
2.3.8 Tomcat常见问题
三、Servlet(特别重要)
3.1 Servlet概念
3.2 Servlet作用
3.3 Servlet开发步骤
3.3.1 搭建开发环境
3.3.2 创建项目
3.3.3 部署Servlet
3.3.4 配置Servlet
3.3.5 测试运行
四、IDEA中创建Web项目
4.1 创建Web项目
4.1.1 创建项目
4.1.2 编写Servlet类
4.2 手动部署项目
4.3 自动部署项目
4.3.1 IDEA集成Tomcat
4.3.2 IDEA部署JavaWeb项目
一、程序开发体系结构
随着网络技术的不断发展,单机的软件程序不足以满足网络计算的需求。为此,各种各样的网络程序开发体系结构应运而生,这当中,运用最多的网络应用程序开发体系结构主要分为两种:一种是基于浏览器/服务器的B/S结构;另外一种是基于客户端/服务器的C/S结构。
1.1 C/S体系结构
(1)C/S(Client/Server,客户端/服务器)体系结构由美国Borland公司最早研发。
(2)特点:必须在客户端(用户设备上)安装特定的软件。
(3)优点:图像效果显示比较好(比如:3D游戏)。
(4)缺点:服务器的软件和功能进行升级,客户端也必须升级,否则使用不了新的功能,不利于维护。
(5)常见的C/S体系结构程序:QQ、微信等。
1.2 B/S体系结构
(1)B/S(Bowser/Server,浏览器/服务器)体系结构由美国微软公司研发。
(2)特点:只需要一个浏览器通过http协议就可以访问,不需要在客户端(用户设备上)安装特定的软件。
(3)优点:服务功能的升级只需要升级服务器端,浏览器中不需要做任何升级操作。
(4)缺点:图形显示效果不如C/S体系结构。
(5)常见的B/S体系结构:淘宝、京东、支付宝等。
二、Web服务器
2.1 概念
2.1.1 什么是Web
(1)Web(World Wide Web)称为万维网,简单理解就是一个网站,它是Internet主机上提供给外界访问的资源、
(2)Internet上提供给外界访问的资源大体上分为两种,即静态资源(静态网站)和动态资源(动态网站)。
静态资源:指Web页面中提供给用户浏览的数据是固定不变的,页面使用HTML+CSS实现。
动态资源:指Web页面中提供给用户浏览的数据是由程序产生的,具有交互性(交互性是指网页可以根据用户的要求动态改变或响应),内容可以自动更新,并且内容会根据访问的时间和访问者而改变,甚至不同设备访问Web页面看到的内容也各不相同。页面使用Servlet+JSP等技术实现。
(3)Java Web是用Java技术来解决Web领域的相关技术的总和。Web包括Web服务器和Web客户端两部分。
2.1.2 什么是Web服务器
Web服务器发布Web应用、运行Web应用的容器。只有将开发好的Web项目部署在Web服务器中,才能使网络中的用户通过浏览器来访问Web应用。Web服务器的主要功能就是提供网上信息浏览服务。
2.2 常见Web服务器
开源的Web服务器: 1)Tomcat(主流Web服务器之一,非常适合初学者学习)。 2)jetty(淘宝使用,运行效率比Tomcat高)。 3)resin(新浪使用,所有开源服务器软件中,运行效率最高的)。 上面三个的用法从代码角度看完全相同,只是在开启、关闭服务软件时用的命令稍微有点区别。 收费的Web服务器: 1)WebLogic,Oracle公司开发的。 2)WebSphere,IBM公司开发的。 收费的Web服务器提供相应的服务与支持,软件比较大,资源消耗大。
2.3 Tomcat服务器
(1)Tomcat是Apache基金会开发的一个小型的轻量级应用服务器,技术先进,性能稳定,而且是免费的,占用系统资源小,运行速度快。
(2)Tomcat是一个运行Servlet和JSP Web应用软件。基于Java的Web应用软件容器。Tomcat Server是根据Servlet和JSP规范运行的,因此可以说Tomcat Server也实行了Apache规范,且比绝大多数商业应用软件服务器要好。
2.3.1 Tomcat的下载
进入Tomcat官网下载(Apache Tomcat® - Welcome!),其安装文件有多种格式,其中zip文件是Windows系统下的压缩版本。
2.3.2 Tomcat的安装
Tomcat无需安装,只需要将压缩包下载后,将其解压到一个文件夹中就可以使用。 注意: 1)文件夹名称中不要特殊符号。 2)文件夹名称中不要包含中文字符。 3)不建议将Tomcat解压放在磁盘层次很多的文件夹中
2.3.3 Tomcat的目录结构
Tomcat压缩包解压后,其中的各个子文件夹说明如下:
文件夹 | 作用 | 说明 |
---|---|---|
bin | 存放启动和关闭Tomcat的可执行脚本文件 | startup.bat启动Tomcat shutdown.bat停止Tomcat |
conf | 存放Tomact服务器的各种配置文件 | 这是一个非常重要的目录,这个目录下的server.xml文件和web.xml文件最重要。 server.xml:配置整个服务器信息,例如修改端口号,设置编码格式等。 web.xml:项目部署描述文件,这个文件中注册了很多MIME类型,即文档类型 |
lib | 存放Tomcat服务器的支撑jar包 | Tomcat的类库,里面存放Tomcat运行时所需要的jar文件 |
logs | 存放Tomcat的日志文件 | 该文件中记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,异常也会记录在日志文件中 |
temp | 存放Tomcat运行时产生的临时文件 | 这个目录下的东西在停止Tomcat后删除 |
webapps | 存放各种Web应用 | 存放Web项目的目录,其中每个文件夹都是一个项目,其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。 |
work | Tomcat的工作目录 | 运行时生成的文件,最终运行的文件都在这个文件夹中。当客户端用户访问一个jsp文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java文件和class文件都会存放在这个目录下 |
2.3.4 Tomcat的启动
进入Tomcat服务器的安装目录bin文件中,双击startup.bat启动程序,出现如下界面。
打开浏览器中,在地址栏中输入http://localhost:8080或者http://127.0.0.1:8080回车,会出现Tomcat的访问页面。说明Tomcat服务器启动成功。
2.3.5 Tomcat的停止
双击shutdown.bat即可关闭Tomcat启动窗口。
2.3.6 修改Tomcat端口号
8080是Tomcat默认的端口,有时候可能会被占用,这时可以通过conf文件夹下的server.xml文件修改端口号,已解决端口号冲突的问题。端口号修改完之后,要重新启动Tomcat并在浏览器的地址栏中使用新的端口号访问Tomcat服务器。
2.3.7 项目部署及静态资源访问
Tomcat是Web服务器,是一个容器(依然可以理解为装数据的容器),我们开发的项目应用需要部署在webapps文件夹下面,然后启动Tomcat服务器,在浏览器中通过特定的URL访问Web项目的页面。
2.3.7.1 创建项目
1)在webapps中建立项目文件夹,例如,webProject01 2)在webProject01文件中创建WEB-INF文件夹,存放项目的核心内容 3)在WEB-INF文件夹中,创建如下文件夹和文件: -->创建classes文件夹,存放.class文件 -->创建lib文件夹,存放jar文件 -->创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制) 4)把你编写的helloTomcat.html页面复制到webProject01文件夹中,webProject01页面与WEB-INF在同级目录。
2.3.7.2 通过URL访问项目
打开浏览器,在浏览器地址栏中输入URL:http://localhost:8080/webProject01/helloTomcat.html,回车,即可访问
2.3.7.3 Tomcat响应流程
2.3.8 Tomcat常见问题
2.3.8.1 Tomcat控制台闪退
闪退的问题是由JAVA_HOME配置导致的,检查JAVA_HOME配置是否正确。
2.3.8.2 404
出现404问题是因为访问资源不存在,也就是访问路径不对(文件名不对)。
2.3.8.3 500
出现500问题是服务器端的问题,一般是程序逻辑有问题。
三、Servlet(特别重要)
3.1 Servlet概念
1)Servlet:Server Applet的简称,是运行在Web服务器端的Java程序,可交互式的处理客户端发送到服务器端的请求,并完成响应操作,它使用Java语言编写。
2)Servlet可实现动态网页。
3)Servlet是JavaWeb开发程序的基础,是一个标准,由SUN定义,具体细节由Servlet容器进行实现,如Tomact、JBoss等。Servlet是JavaEE规范(一套接口)的一个组成部分。
3.2 Servlet作用
1)接收客户端请求,完成相关操作
2)动态生成网页(页面数据可变,不同用户页面数据不同)
3)将包含操作结果的动态网页响应给客户端。
3.3 Servlet开发步骤
3.3.1 搭建开发环境
将Tomcat安装路径下lib文件夹中与Servlet相关的jar包(lib\servlet-api.jar)配置到classpath环境变量中。
3.3.2 创建项目
1)在webapps中建立项目文件夹,例如,webProject02
2)在webProject02文件中创建WEB-INF文件夹,存放项目的核心内容
3)在WEB-INF文件夹中,创建如下文件夹和文件:
-->创建classes文件夹,存放.class文件 -->创建lib文件夹,存放jar文件 -->创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制)
4)在classes中创建类的包文件夹,在文件夹中通过实现java.servlet.Servlet接口的方式编写MyServlet类。重写java.servlet.Servlet接口中的方法,在重写的核心方法service()中编写输出语句,打印访问结果。
package com.cxyzxc.www.servlet01;
import java.io.IOException;
import java.util.Date;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Servlet01 implements Servlet{
@Override
public void destroy() {
}@Override
public ServletConfig getServletConfig() {
return null;
}@Override
public String getServletInfo() {
return null;
}@Override
public void init(ServletConfig arg0) throws ServletException {
}@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("My First Servlet!Very Good!");
}
}
3.3.3 部署Servlet
1)编译Servlet01.java文件,生成Servlet01.class字节码文件 2)将Servlet01.class文件放在Web项目的WEB-INF文件里的classes文件夹中
3.3.4 配置Servlet
编写WEB-INF文件夹中的项目配置文件web.xml。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true"><!-- 1、添加Servlet节点-->
<servlet>
<!-- 你的Servlet类名称-->
<servlet-name>MyServlet</servlet-name>
<!-- 你的Servlet类的完整路径-->
<servlet-class>com.cxyzxc.www.servlet01.Servlet01</servlet-class>
</servlet><!-- 2、 添加servlet-mapping节点-->
<servlet-mapping>
<!-- 这个地方的servlet-name值要和上面servlet-name值保持一致-->
<servlet-name>MyServlet</servlet-name>
<!-- url-patter配置的内容是浏览器地址栏中URL里项目名称后的资源内容-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
3.3.5 测试运行
1)启动Tomcat
2)打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject02/hello,可以在Tomcat窗口中看到输出“My First Servlet!Very Good!”内容。
四、IDEA中创建Web项目
4.1 创建Web项目
4.1.1 创建项目
1、打开IDEA,单击“New Project”或者通过File-->new-->Project,在弹出的对话框中输入项目名称,其它的默认选择,点击finish按钮
2、为项目添加Web框架支持,右键单击创建的项目,点击Add Framework Support,在弹出的对话框中勾选Web Application(4.0)及Create web.xml复选框,单击“OK”按钮,完成添加。
3、添加依赖包,右键单击WEB-INF文件夹,在弹出的对话框中选择New-->Directory命令,创建lib文件夹,将Tomcat安装目录下lib文件夹中的servlet-api.jar文件添加到lib文件夹中。
4、在servlet-api.jar文件上右击鼠标,选择Add As Library,将jar包添加到Library中
4.1.2 编写Servlet类
1、在src上右击鼠标-->new-->package-->输入com.cxyzxc.www.servlet01包名(包名你可以自己取)-->回车
2、在包上右击鼠标-->new-->Java Class-->输入ServletDemo01类名-->回车
3、编写ServletDemo01t类,实现Servlet接口,重写接口中的5个方法,在service()方法中输出内容
package com.cxyzxc.www.servlet01;
import javax.servlet.*;
import java.io.IOException;public class ServletDemo01 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {}
@Override
public ServletConfig getServletConfig() {
return null;
}@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("IDEA中的第一个Servlet案例");
}@Override
public String getServletInfo() {
return null;
}@Override
public void destroy() {}
}
4、编译ServletDemo01.java文件,生成ServletDemo01.class文件。在软件上面点击Build-->Build Project,等待片刻,生成out文件夹,里面包含编译后的class文件
5、编写web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>ServletDemo01</servlet-name>
<servlet-class>com.cxyzxc.www.servlet01.ServletDemo01</servlet-class>
</servlet><servlet-mapping>
<servlet-name>ServletDemo01</servlet-name>
<url-pattern>/demo01</url-pattern>
</servlet-mapping>
</web-app>
4.2 手动部署项目
1)在Tomcat服务器的webapps文件中,创建一个项目文件夹,例如webProject03
2)将IDEA软件中WEB-INF文件夹整体复制到webProject03文件夹中
3)在WEB-INF文件夹中创建classes文件夹,将编译后生成的ServletDemo01.class文件所在的文件夹一起复制到classes文件夹中
4)启动Tomcat服务器,打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject03/demo01,可以在Tomcat窗口中看到输出“IDEA中的第一个Servlet案例”内容。
4.3 自动部署项目
上述操作中,虽然是在IDEA软件中完成了Servlet代码的编写以及编译,但是还需要手动将WEB-INF文件夹复制到Tomcat的项目文件夹中去,并需要手动在WEB-INF文件中创建classes文件夹,然后将IDEA中编译后的class文件复制到classes文件夹中,比较麻烦。另外,当你的Java文件改变后,你需要重新编译java文件生成class文件,然后再将class文件复制到classes文件夹中,再重新启动Tomcat服务器才能访问资源,非常的麻烦。所以,我们可以在IDEA中集成Tomact服务器,实现自动部署。
4.3.1 IDEA集成Tomcat
1、 点击File-->Settings...
2、选择双击Build,Execution,Deployment-->Application Servers,点击+号,选择Tomcat Server
3、选择Tomcat服务器的安装路径,点击ok,Tomcat服务器就集成到IDEA中了
4、再次点击File-->Settings...-->Build,Execution,Deployment-->Application Servers,点击+号,选择Tomcat Server,可以看到Tomcat服务器在IDEA中
4.3.2 IDEA部署JavaWeb项目
1、点击Run或者软件右边绿色锤子旁边下拉框,选择Edit Configuration...
2、点击图示中任意一个选项,进入添加运行配置界面
3、配置Tomcat Server和运行项目的默认浏览器
4、添加项目到Tomcat中并设置访问名称,最后点击Apply,部署成功
5、点击Run或着绿色箭头进行测试,以下情况表示运行成功