JavaWeb(一)——Web快速入门

第一章、Web快速入门

2020/04/27

第1节:基本概念及Web应用入门


知识点1:C/S、B/S与RIA

(一)C/S

​ Client/Server:客户端/服务器的简称,又称为胖客户端,需要在电脑上安装特定的软件.例如:QQ

(二)B/S

​ Browser/Server:浏览器/服务器的简称,又称为瘦客户端,不需要在电脑上安装特定的软件,只需在电脑上安装一个浏览器即可. 例如:在浏览器访问一个百度网页

(三)C/S与B/S区别

​ 1.C/S需要安装客户端软件,但是操作往往更为便捷,用户体验好,安全性好;

​ 2.B/S不需要安装客户端软件,但是用户体验往往不如C/S好,安全性也较C/S要低

(四)RIA

​ 1.定义:Rich Internet Applications:富客户单端网络应用

​ 2.目标:基于B/S架构

​ 在浏览器实现与胖客户端(C/S)类似的用户体验,比如:局部刷新,拖拽功能.


知识点2:Web站点、Web应用、HTTP服务器、Web应用服务器

(一)Web站点

​ Web Site,也称为Web 网站,例如:某公司用来宣传的网站就是Web站点,用户浏览公司的信息,该站点不提供服务.属于静态站点.

(二)Web应用

​ Web Application,就是通过浏览器访问的应用程序,为用户提供相关的服务,属于动态网站.例如:京东,淘宝,天猫

(三)HTTP服务器

​ 1.定义:Web服务器,提供网上信息浏览服务

​ 2.例子: apache nginx IIS

​ 3.特点:使用浏览器访问web站点或者web应用,必须通过HTTP服务器.

(四)Web应用服务器:

​ 1.定义:能够运行服务器上的应用程序,并将结果返回给客户端浏览器的软件.

​ 2.例子:Tomcat就是Web应用服务器

​ 3.特点:兼具HTTP服务器的部分功能.


知识点3:开发Web应用的核心技术

(一)CGI:

​ Common Gateway Interface :通用网关接口,web应用服务器提供信息服务的标准接口,目前使用较少.

(二).net

​ 微软公司的企业应用框架,如:Asp.net,Ado.net

​ 中小型企业使用.不能跨平台.

(三)php

​ php是一个相对易学的web开发技术,在互联网小型应用中使用广泛.

(四)JavaEE

​ 是Oracle公司的企业应用框架,在大型的企业应用广泛.例如:Servlet,JSP是Web开发组件.


知识点4:Tomcat介绍及安装

(一)什么是Tomcat

​ Tomcat是Web应用服务器,又称为Servlet Container(Servlet 容器)

(二)Tomcat的特点

​ 1.开源

​ 2.免费

​ 3.中小型应用和并发访问用户不是很多的情况下广泛使用

​ 4.是开发调试Servlet/Jsp程序的首选

(三)Tomcat的官网

​ http://tomcat.apache.org/

​ 使用9.0版本

(四)Tomcat的安装
(五)Tomcat的目录结构

​ 1.bin:Tomcat的启动,停止的批处理脚本和shell脚本

​ 2.conf:Tomcat的相关配置文件

​ 3.lib:Tomcat服务器的依赖库目录,包括Tomcat服务器运行环境的依赖的jar包

​ 4.logs:Tomcat默认的日志存放目录

​ 5.temp:Tomcat 运行过程中产生的临时文件

​ 6.webapps:Tomcat默认的web应用部署目录

​ 7.work:jsp代码生成和编译后产生的class目录

(六)在浏览器访问Tomcat

​ 在浏览器的地址栏输入:http://localhost:8080回车即可访问Tomcat


知识点5:常见其他Servlet容器简介

JBoss Resin ClassFish4 Weblogic Websphere


知识点6:Servlet的概念及功能

(一)什么是Servlet

​ Servlet是Java EE规范中的Web开发组件

(二)Servlet特点

​ 1.运行在服务器端

​ 2.需要servlet容器的支持(如:tomcat)

​ 3.Servlet是一个Java类,遵守一定的开发规范,比如继承HttpServlet

​ 4.通过浏览器访问Servlet,Servlet返回给浏览器动态页面


第2节:第一个Web应用

知识点1:使用IDE创建第一个Web应用

(一)Eclipes配置Tomcat
(二) 配置服务器

​ 1.Window—Show View—servers

​ 2.底部控制栏,server内右键new server

(三)创建Web应用

1.创建Dynamic Web Project项目

在这里插入图片描述

2.配置项目

在这里插入图片描述

(四)Web工程目录结构

在这里插入图片描述

src:存放Java源代码文件,servlet源代码

WebContent:存放.jsp .html 图片文件

lib:存放第三方jar包

web.xml:Web应用的配置文件,Servlet就在这里配置


知识点2:创建一个Servlet

(一)新建Servlet

​ src->右键->new->Servlet

在这里插入图片描述

(二)输入包名和Servlet名称

在这里插入图片描述

​ 输入包名,名称

在这里插入图片描述

(三)在生成的servlet中添加

在这里插入图片描述


知识点3:web.xml中配置Servlet

在这里插入图片描述

说明:

	<servlet>元素包含<servlet-name>及<servlet-class>,其中<servlet-name>可以使用任意标识符,<servlet-class>是Servlet类的完整类名;
	<servlet-mapping>元素包含<servlet-name>及<url-pattern>,其中<servlet-name>与已经定义的name对应,<url-pattern>是逻辑url,非常非常重要,访问Servlet就使用这个url-pattern

知识点4:部署到Tomcat

​ 右键选中工程------>Run As ------>Run on Server-----Finish

在这里插入图片描述
在这里插入图片描述


知识点5:运行Web应用

在这里插入图片描述


知识点6:Servlet的生命周期

(一)Servlet兵分三路

在这里插入图片描述

(二)Servlet执行流程

1.浏览器请求
在这里插入图片描述

​ 浏览器向服务器请求时,服务器不会直接执行我们的类,而是到web.xml里寻找路径名
​ ①:第一步,浏览器输入访问路径后,携带了请求行,头,体
​ ②:第二步,根据访问路径找到已注册的servlet名称,既图中的demo
​ ③:第三步,根据映射找到对应的servlet名
​ ③:第四步,根据根据servlet名找到我们全限定类名,既我们自己写的类

2.服务器创建对象

​ ①:服务器找到全限定类名后,通过反射创建对象,同时也创建了servletConfig,里面存放了一些初始化信 息(注意服务器只会创建一次servlet对象,所以servletConfig也只有一个)

3.调用init方法

​ ①:对象创建好之后,首先要执行init方法,但是我们发现我们自定义类下没有init方法,所以程序会到其父类HttpServlet里找
​ ②:我们发现HttpServlet里也没有init方法,所以继续向上找,既向其父类GenericServlet中继续寻找,在GenericServlet中我们发现了init方法,则执行init方法(对接口Servlet中的 init方法进行了重写)

4.调用service方法

​ 接着,服务器会先创建两个对象:ServletRequest请求对象和ServletResponse响应对象,用来封装浏览器的请求数据和封装向浏览器的响应数据
​ ①:接着服务器会默认在我们写的类里寻找service(ServletRequest req, ServletResponseres)方法,但是DemoServlet中不存在,那么会到其父类中寻找
​ ②:到父类HttpServlet中发现有此方法,则直接调用此方法,并将之前创建好的两个对象传入
​ ③:然后将传入的两个参数强转,并调用HttpServlet下的另外个service方法
​ ④:接着执行service(HttpServletRequest req, HttpServletResponse resp)方法,在此方法内部进行了判断请求方式,并执行doGet和doPost,但是doGet和doPost方法已经被我们自己重写了,所以会执行我们重写的方法

5.像浏览器响应

最后处理完数据后,将数据响应到浏览器

public class HelloServlet extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
    
    
      System.out.println("HelloServlet()构造方法...");    
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		System.out.println("doGet()");
		response.getWriter().append("Served at: Hello Servlet!").append(request.getContextPath());
	}

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
    
		System.out.println("service()方法...");
		super.service(req, resp);
	}

	@Override
	public void init(ServletConfig config) throws ServletException {
    
    
		System.out.println("init(有参数)方法...");
		super.init(config);
	}

	@Override
	public void init() throws ServletException {
    
    
		// TODO Auto-generated method stub
		System.out.println("init()无参数方法...");
		super.init();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		System.out.println("doPost()");
		doGet(request, response);
	}

	@Override
	public void destroy() {
    
    
		System.out.println(" destroy()方法");
	}

}

(三)ServletAPI查询地址

​ http://tomcat.apache.org/tomcat-9.0-doc/servletapi/index.html

(四)Web应用常见的错误

​ 1.404找不到请求的资源

​ 2.500代表服务器内部错误

​ 3.页面无法显示:未启动Tomcat

(五)Servlet案例

1.设置响应编码:UTF-8

​ response.setContentType(“text/html;charset=UTF-8”);

2.向页面输出

​ out=response.getWriter();

​ out.println(内容);

猜你喜欢

转载自blog.csdn.net/yubo_830/article/details/105939086
今日推荐