蓝旭第四周预习作业:

本次预习作业主要涉及:Servlet和mvc设计模式以及jar包

目录

一:servlet的初步了解:

简单实现一下servlet:

 二执行原理:

三servlet的生命周期:

四servlet的路径配置:

五.HTTP

六:MVC

七:jar包:


一:servlet的初步了解:

Servlet 是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。

Servlet 虽然被称作“小程序”,但是它的功能却异常强大,因为它是基于 Java 的,几乎可以使用所有的 Java API,Java 能做的事情,Servlet 也能做。

Java 是一种功能强大的通用型编程语言,可以处理 HTTP 请求,可以访问数据库,可以生成 HTML 代码,您完全可以使用原生 Java 来开发动态网站。但是,使用原生 Java 开发动态网站非常麻烦,需要自己解析 HTTP 请求的报头,需要自己分析用户的请求参数,需要自己加载数据库组件……种种原因导致使用原生 Java 开发动态网站几乎是一件不能被接受的事情。正是基于这种原因,Java 官方后来推出了 Servlet 技术,它对开发动态网站需要使用的原生 Java API 进行了封装,形成了一套新的 API,称为 Servlet API。

自己的理解:
   servlet就是运行在服务器端的小程序:(1)servlet就是一个接口,定义了java类被浏览器访问时(tmocat识别)的一个规则。

我们程序员要做的就是定义一个类,通过继承Servlet,并且重写方法,实现接口.

简单实现一下servlet:

1首先创建javaEE项目,创建一个javaweb的包:并且在Javaweb下add farmework support下导入webINF

 2定义一个类,实现Servlet的接口:继承Servlet后需要需要重写接口

 3要配置一下tocat:

 4配置一下servlet中的配置:

<?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>demo1</servlet-name>
          <servlet-class>cn.thiswork.web.servlet.ServletDemo1</servlet-class>
      </servlet>

    <servlet-mapping>
        <servlet-name>demo1</servlet-name>
        <url-pattern>/demo1</url-pattern>
    </servlet-mapping>

</web-app>

 注意一下一定要写在<web-app>里面。

这样一个简单的servlet的简单程序就创建好了,可以运行了:

 二执行原理:

1当服务器接收到客户端浏览器的请求后,会解析请求URL的路径,获取访问的Servlet的资源路径

2查找web.xml文件,是否有对应的<url-pattern>标签体的内容。

3如果有,则在找到对应的<servlet-class>全类名

4tomcat会将字节码文件加载进内存,并且创建其对象

5调用其方法。

三servlet的生命周期:

servlet的生命周期就是从创建直到毁灭的整个过程。

1.被创建:执行init()方法,只执行一次

可以通过配置改变执行init的时间。

<servlet>
      <servlet-name>demo2</servlet-name>
      <servlet-class>cn.thiswork.web.servlet.ServletDemo2</servlet-class>
      //可以指定servlet的创建时机。
      //如果是第一次创建 <load-on-startup>的值是负数。
      //如果是在服务器创建之后,<load-on.startup>的值是正整数或者0.
      <load-on-startup>-5<load-on-startup>
</servlet>
    

2提供服务:执行service方法,执行多次。

每次访问servlet时,service方法都会被执行一次。

3被销毁:执行destory()方法,执行一次。

只有在服务器被正常关闭时候,才会执行destory()方法。

4doget()的方法:

GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

public void doGet(HttpServletRequest request,
                  HttpServletResponse response)
    throws ServletException, IOException {
    // Servlet 代码
}

5dopost()的方法:

POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

public void doPost(HttpServletRequest request,
                   HttpServletResponse response)
    throws ServletException, IOException {
    // Servlet 代码
}

四servlet的路径配置:

@webServlet("/d4","/dd4","/ddd4")
@webServlet("/user/demo4")
@webServlet("/user/*)
@webServlet("/*")
//注意*这个通配符是等级最低的,只有其他情况均不满足的情况的下,才会执行*


五.HTTP

概念:hyper text transfer protocol  超文本传输协议。定义了,客户端和服务器端通信时候,发送数据的格式。

特点:一次请求对应响应一次,每次请求之间相互独立,不能交互数据。默认端口号是80.

1.1的版本是可以复用链接的。

请求消息的数据格式:

1请求行

请求格式: 请求方式 请求url 请求协议/版本

例如:GET/login.html HTTP/1.1

请求方式:

    GET:请求参数在请求行中,在url后面

   POST:请求参数在请求体中。

 2请求头

请求头名称:请求头值

      常见的请求头值:

       1User-Agent:浏览器告诉服务器,访问时的浏览器版本信息,可以解决浏览器的兼容性问题。

      2Referer:http://localhost/login.html 告诉服务器,我从哪里来。可以做防盗链,统计工作。

3请求空行

空行

4请求体

 具体的方法

Enumeration getHeaderNames()
返回一个枚举,包含在该请求中包含的所有的头名。

Enumeration getParameterNames()
返回一个 String 对象的枚举,包含在该请求中包含的参数的名称。

String getHeader(String name)
以字符串形式返回指定的请求头的值。

String getPathInfo()
当请求发出时,返回与客户端发送的 URL 相关的任何额外的路径信息。

String getQueryString()
返回包含在路径后的请求 URL 中的查询字符串。

String getMethod()
返回请求的 HTTP 方法的名称,例如,GET、POST 或 PUT。

ps:后面有点学不懂了,后面在接着学。稍微有点多qwq

六:MVC

MVC模式是软件工程中常见的一种软件架构模式,该模式把软件系统(项目)分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

使用MVC模式有很多优势,例如:简化后期对项目的修改、扩展等维护操作;使项目的某一部分变得可以重复利用;使项目的结构更加直观。

具体来讲,MVC模式可以将项目划分为模型(M)、视图(V)和控制器(C)三个部分,并赋予各个部分不同的功能,方便开发人员进行分组。

(1)视图(View):负责界面的显示,以及与用户的交互功能,例如表单、网页等。

(2)控制器(Controller):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图。即用来连接视图和模型。

实际开发中,通常用控制器对客户端的请求数据进行封装(如将form表单发来的若干个表单字段值,封装到一个实体对象中),然后调用某一个模型来处理此请求,最后再转发请求(或重定向)到视图(或另一个控制器)。

(3)模型(Model):模型持有所有的数据、状态和程序逻辑。模型接受视图数据的请求,并返回最终的处理结果。

大体的步骤:

1创建模型。

2创建视图。

3创建控制器。

 

 

七:jar包:

jar包的概念:
JAR文件的全称是Java Archive File,意思是Java档案文件。是一种压缩文件,与常见的ZIP压缩文件兼容。两者最大的区别是在JAR文件中默认包含一个名为META-INF/MANIFEST.MF的清单文件,这个文件是生成JAR文件时由系统自动创建的。
建包:

 

ps:弄了好久,有些地方还是不太懂,会继续努力的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值