JavaEE学习笔记(1)--初识JavaWeb

文章目录

  • Java web概述——简介&相关概念
      • 前言:什么是Java web?
      • 一个动态的Web是怎样运行的?
      • JavaWeb中不得不知道的概念
        • Tomcat:
        • Servlet:
        • HttpServlet:
        • JSP:
        • MVC:
      • Java Web目前流行的技术
        • (1)JSP:
        • (2)Spring:
        • (3)Spring Boot:


Java web概述——简介&相关概念

前言:什么是Java web?

Java web是指用java技术来解决web互联网领域的技术栈。一个web项目包含了web客户端与web服务器端两个部分(即我们常说的前端、后端),web客户端的技术主要有HTML,CSS,JavaScript等等,web服务端的技术主要有Servlet,JSP,以及Spring框架等很多技术,其中后端的一些技术就是我们所说的Java web。

Internet上供外界访问的Web资源分为:静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术:HTML、CSS。动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java web。(来源——百度百科)


一个动态的Web是怎样运行的?

客户端和Web服务器(比如我们常说的Tomcat)通过HTTP协议进行通信。Web服务器也叫HTTP服务器或Web容器。HTTP协议采用请求/响应模式。即客户端发起HTTP请求,web服务器接收并解析处理HTTP请求,然后将HTTP响应发送给客户端。
JavaEE学习笔记(1)--初识JavaWeb_第1张图片
上图中的Web服务器是一个软件程序,比如Tomcat服务器,本质上是一个软件,而单说服务器的话才指的是硬件设备,一个主机。Web服务器用来管理web应用,当客户端发出了HTTP请求,web服务器接收到请求以后,会调用对应的web应用程序进行处理,然后web服务器将处理的结果再通过HTTP协议返回给客户端。


JavaWeb中不得不知道的概念

Tomcat:

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML页面的访问请求。(来源——百度百科)

  • 安装Tomcat:

    在官网下载压缩文件。
    JavaEE学习笔记(1)--初识JavaWeb_第2张图片
    解压缩,会得到如下的文件夹。
    JavaEE学习笔记(1)--初识JavaWeb_第3张图片
    bin:存放各个平台下启动和停止Tomcat服务的脚本。

    conf:存放Tomcat的配置文件。

    lib:存放Tomcat服务器所需要的jar包。

    webapps:存放允许客户端访问的资源(java程序)。

  • 在Java Web工程中配置Tomcat:

    以IDEA为例,选择java enterprise,在Project template中选择Web application。
    JavaEE学习笔记(1)--初识JavaWeb_第4张图片
    在Application server中选择new --> tomcat server。
    JavaEE学习笔记(1)--初识JavaWeb_第5张图片
    在弹出的页面选择刚刚解压出来的Tomcat文件夹,这样就将Tomcat服务器配置到了IDEA的JavaWeb工程中。
    JavaEE学习笔记(1)--初识JavaWeb_第6张图片

Servlet:

  • Servlet是什么?

    Servlet是Java Web开发的基础,与平台无关的服务器组件,运行在Servlet容器(Web服务器,Tomcat),负责与客户端和服务端进行通信。

  • Servlet能做什么?

    1. 创建并返回基于客户请求的动态HTML页面。
    2. 与数据库进行通信。
  • 怎样使用Servlet?

    Servlet是一组接口,我们去实现Servlet接口,让他能接受客户端的请求以及做出响应。但是浏览器不能直接访问Servlet,需要通过映射的方式间接访问Servlet,也就是说我们要给Servlet配置一个地址,通过这个地址再来访问Servlet。映射的配置方式有两种:1.通过注解,2.修改.xml配置文件。

    import javax.servlet.*;
    import java.io.IOException;
    
    @WebServlet("/test-servlet")
    public class TestServlet implements Servlet {
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
            
        }
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
        @Override
        public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
            
        }
        @Override
        public String getServletInfo() {
            return null;
        }
        @Override
        public void destroy() {
            
        }
    }
    

    上面代码中的@WebServlet("/test-servlet")就是通过注解的方式给Servlet配置了一个地址,通过修改.xml文件也可以做到同样的效果,比如下面这样:

    <servlet>
        <servlet-name>testservlet-name>
        <servlet-class>com.example.TestServletservlet-class>
    servlet>
    
    <servlet-mapping>
        <servlet-name>testservlet-name>
        <servlet-pattern>/test-servletservlet-pattern>
    servlet-mapping>
    

    当前Servlet的类名字是TestServlet,放在了com.example包下,映射地址是test-servlet,那么通过浏览器访问test-servlet就可以映射到TestServlet。

  • Servlet的生命周期:

    Servlet创建以后给了我们六个方法让我们来实现,实际上真正有用的方法一共有三个,即init()service()destory(),他们是Servlet的生命周期方法。

    1. init()方法只调用一次,初始化对象。
    2. service()调用n次,每访问一次Servlet都会调用service()方法,用来处理业务逻辑。
    3. destory()方法只调用一次,用来销毁对象。

HttpServlet:

​ 在实际的开发中我们并不需要自己实现Servlet中的方法,只需要继承HttpServlet,可以简单理解为它已经帮我们实现好了Servlet接口,使用的时候只需要重写其中的doGet(),与doPost()方法就可以了。

  • Servlet的层次结构:

    Servlet --> GenericServlet --> HttpServlet

更为准确的说法是:GenericServlet实现了Servlet接口,它屏蔽了不常用的方法,子类只需要重写service()方法;HttpServlet又继承了GenericServlet,里面含有doGet(),与doPost()两个方法,它根据请求类型进行分发处理,浏览器发来的get请求交给doGet()处理,post交给doPost()处理。

  • HttpServlet示例:

    首先在HTML页面定义一个form表单。

    action指定了此表单要请求test-servlet处理,method指定了此表单以post请求的方式发送给Servlet。当用户点击”登录“按钮以后,浏览器会将表单通过HTTP协议发送给Tomcat,Tomcat会调用test-servlet所映射的HTTPServlet类,并根据表单中method属性确定由doGet()还是doPost()方法来处理这个表单。

    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.annotation.*;
    import java.io.IOException;
    
    @WebServlet("/test-servelt")
    public class TestServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
        }
    
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("Ta点了登录");
        }
    }
    

    用户每访问一次Servlet,都会调用其中的doPost()方法,在控制台上输出:”Ta点了登录“。

JSP:

JSP全称为Java Server Pages,指的就是java服务器端页面。我们可以理解为它就是一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码。浏览器是不能直接处理.jsp文件的,当我们访问.jsp文件的时候,Tomcat会先把它转换成Servlet,再将要展示的页面返回给浏览器。

MVC:

MVC指的是应用设计框架,用于应用的分层开发。MVC全称是Model-View-Controller(模型,视图,控制器),它将我们的代码分为了三个层次,实现了代码的分离。最典型的MVC就是jsp+servlet+javabean模式,jsp只用来展示数据,servlet用来接收并处理用户的请求,javabean作为模型,用来封装数据业务。

  • Model:程序需要操作的数据或信息。
  • View:提供给用户的操作界面。
  • Controller:负责根据用户从"View层"输入的指令,选取"Model层"中的数据,然后对其进行相应的操作,产生最终结果。
    JavaEE学习笔记(1)--初识JavaWeb_第7张图片

Java Web目前流行的技术

(1)JSP:

JSP的代码是嵌入在网页中的,相对目前流行的前后端分离的开发模式来说,已经逐渐被淘汰掉了。虽然我所在的大学JavaEE这门课仍然在教JSP技术,但是除了应付考试以外,并不建议过分深入的学习。但是对于Servlet的掌握还是必要的,他是Java Web的基石,为我们学习新的技术打下基础。

(2)Spring:

Java三大框架中的其中一个,Spring 是目前主流的 Java Web 开发框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。(——来源:百度百科)

(3)Spring Boot:

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。(——来源:百度百科)


JavaEE学习笔记(1)--初识JavaWeb_第8张图片

你可能感兴趣的:(JavaWeb学习笔记,java-ee,java,后端,javaweb,servlet)