servlet+mvc、Jar 包介绍、如何导入使用

一、Servlet

1.简介Servlet

        Servlet是使用Java语言编写的程序,它运行在Web服务器上,用以处理来自客户端的请求,完成用户与服务器的交互。它一般会把会把处理的结果以HTML的形式返回,在客户端形成动态网页。Servlet广义上来讲指的是servlet接口,狭义上来讲指的是所有实现接口的实现类。

2.Servlet的优点

        (1)Servlet运行在Web服务器中,可以使Java动态处理服务器的一些内容,扩展服务器的功能,完成如注册、登录等功能。

        (2)同时Servlet还可以与其他资源进行交互,返回客户端相应的内容,形成动态网页。

        (3)由于Servlet是Java编写,它可以发挥Java中所有的优点,如跨平台性。

3.Servlet与Tomcat的关系

        Servlet是Tomcat的一个组件。Servlet的功能需要依赖一个servlet-api.jar,这个包是由tomcat提供的。Tomcat在初始化Servlet时,首先读取web.xml文件,根据web.xml文件中的参数信息初始化ServletConfig、ServletContext对象,同时帮助我们创建HttpServletRequestHttpServletResponse对象一并交给Servlet实例,此时,Servlet就具有了相关的功能。

4.Servlet的具体实现

        (1)创建一个web项目,然后新建一个类ServletTest实现此接口

import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ServletTest implements Servlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("初始化:init");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("hello world!");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("销毁:destory");
    }

}

        (2)在web.xml中配置servlet的映射信息,只有配置了映射信息,tomcat才能找到客户端的请求对应的是哪个servlet

<webapp>
<!-- 配置一个servlet -->
  <!-- servlet的配置 -->
  <servlet>
  	<!-- servlet的内部名称,自定义。尽量有意义 -->
  	<servlet-name>MyServlet</servlet-name>
  	<!-- servlet的类全名: 包名+简单类名 -->
  	<servlet-class>cn.roobtyan.servlet.FirstServlet</servlet-class>
  	<init-param>
            <param-name>first</param-name>
            <param-value>第一个初始化参数</param-value>
        </init-param>
        <init-param>
            <param-name>second</param-name>
            <param-value>第二个初始化参数</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
  </servlet>
  
  <!-- servlet的映射配置 -->
  <servlet-mapping>
  	<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
  	<servlet-name>ServletTest</servlet-name>
  	<!-- servlet的映射路径(访问servlet的名称),"/"斜杠不能省略-->
  	<url-pattern>/s1</url-pattern>
  </servlet-mapping>
</webapp>

        (3)重写doGet和doPost方法。

public class ServletDemo3 extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("hello world");
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("hello world");
        doGet(req,resp);
    }
 
}

5.Servlet的生命周期

        一般来讲,servlet只会初始化一次,也就是整个过程中只存在一个servlet对象,即便是有多次访问,依然只有一个对象,这个对象是可以复用的,所以servlet是单实例多线程的。

        其中init(),service(),destroy()比较关键,体现了Servlet的生命周期。

        (1)init方法只会调用一次,只是在创建servlet实例的时候才会创建.

        (2)service方法,是进行数据处理的,只要接受了一次请求,就会被调用一次。

        (3)destroy方法,销毁servlet对象的时候调用。停止服务器或者重新部署web应用时销毁servlet对象,同样也是调用一次。

二、MVC框架

1.什么是MVC

        MVC模式(Model-view-controller)是软件工程中的一种软件架构模式,他把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。这种模式用于应用程序的分层开发。

        Model(模型):模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

        View(视图):视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services。MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

        Controller(控制器):控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

举个例子

 2.MVC优缺点:

优点:

  1. 开发人员可以只关注整个结构中的其中某一层;

  2. 可维护性高,可扩展性高

  3. 可以降低层与层之间的依赖;

  4. 有利于标准化;

  5. 利于各层逻辑的复用

缺点:

        1.降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成

        2.有时会导致级联的修改,这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

        3.增加了开发成本

三、Jar包

1.什么是Jar包

        Jar包(Java ARchive )是一种基本zip 格式的文件格式。目标是将Java 生成的类文件、资源文件、管理文件等按照特定的结构打包成一个独立的文件,方便程序的发布或网络的下载。与Zip文件不同的是,Jar 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 Jar 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 Jar。

 2.如何打包

 

 

 

 

然后就成功得到了一个jar文件

 

 3.如何导包

1.创建一个lib目录

 

2.把需要的jar包粘贴到lib目录下

 

3.导包

 

 使用的时候只需要import就可以了

        写在最后:这周的知识之前完全没有接触过,学的有点懵懵的,博客内容涉及的比较浅,可能存在错误,感谢学长学姐阅读指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值