MVC设计模式

codercheng 2020-01-18

MVC设计模式
 一、Model模型(各个功能)
    登录、增加、删除
    功能的实现。用JavaBean实现
    处理业务逻辑(封装业务逻辑的JavaBean)
    处理数据(封装数据的JavaBean)
 二、View视图
    负责页面的显示;表单、表格
    用于展示以及与用户交互,使用 html、js、css、jsp、jQuery等前端技术实现
 三、Controller控制器(负责分发)
   接受各种请求,将请求跳转到模型进行处理;模型处理完毕后,再将模型处理的结果返回给请求处。
   可以用jsp实现,但是一般建议使用Servlet实现控制器
   进行视图、模型的选择

jsp->java(servlet)->jsp

Servlet:
sevlet是一个符合一定规范的Java类
1、必须继承javax.servlet.http.HttpServlet
2、必须重写其中的 doGet()或doPost()方法

doGet()
doPost()

Servlet要想使用:
servlet2.5:配置web.xml(使用eclispe生成会帮你自动配置)
servlet3.0:@WebServlet


项目的根目录:WebContent、src

手动创建Servlet步骤:
1、编写一个类,继承HttpServlet
2、重写doGet()、doSet()方法
3、编写web.xml中Servlet的映射关系

利用eclispe快速生成Servlet:

MVC设计模式

 点击next

MVC设计模式

 next

MVC设计模式

 在此页面可以选择你想要生成的方法,点击finish

MVC设计模式

 此处本人已将自带的注释删除,且web.xml已经自动映射完毕

MVC设计模式

Servlet生命周期


Servlet 规范规定,所有的 servlet 必须实现 javax.servlet.Servlet 接口。
1.    第一次调用时,将执行初始化方法:init(ServletConfig)
2.    每一次调用,都将执行 service(ServletRequestf ServletResponse)方法
3.    服务器关闭,或项目移除:destroy方法    
JavaEE规范中提供Servlet接口实现类:
Generic Servlet:通用 servlet 实现 。没有实现 service
HttpServlet:与Http协议有关的实现。实现seivice方法,完成与http协议有关的操作。
request.getMethodO 获得请求方式(get、post)
如果是get,将调用doGet()
如果是post.将调用doPost()
生命周期:就是一个对象从创建到销毁的过程.
Servlet生命周期:Servlet从创建到销毁的过程.
*何时创建:用户第一次访问Servlet创建Servlet的实例(单实例)
*何时销毁:当项目从服务器中移除的时候,或者关闭服务器的时候.
用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.
任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.在service方法内部根
据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).当Servlet中服
务器中移除掉,或者关闭服务器Servlet的实例就会被销毁,那么destroy方法就会执行.

Servlet  API

由两个软件包组成: 对应于HTTP协议的软件包、对应于除了HTTP协议以外的其他软件包
即Servlet  API可以适用于 任何 通信协议。
我们学习的Servlet,是位于javax.servlet.http包中的类和接口,是基础HTTP协议。


ServletConfig:接口
ServletContext getServletContext():获取Servlet上下文对象   application
String  getInitParameter(String name):在当前Servlet范围内,获取名为name的参数值(初始化参数)

package org.servlet;

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class myservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    
    public myservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }
    @Override
    public void init(ServletConfig arg0) throws ServletException {
        System.out.println("init running......");
        
    }
    
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("Quickstartservlet running......");
        
    }
    
    @Override
    public void destroy() {
        System.out.println("destroy running......");
        
    }

    @Override
    public ServletConfig getServletConfig() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getServletInfo() {
        // TODO Auto-generated method stub
        return null;
    }
}

MVC设计模式

相关推荐