• MVC设计模式


    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:

     点击next

     next

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

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

    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;
        }
    }

  • 相关阅读:
    mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享
    未能加载文件或程序集“**********”或它的某一个依赖项。试图加载格式不正确的程序。
    批量删除MSSQL 中主外键约束
    mssql sqlserver xml数据类型专题
    mssql sqlserver for xml EXPLICIT 用法详解说明
    mssql sqlserver null数据类型专题
    Nginx Location模块
    Nginx 服务器的安装部署(CentOS系统)
    Nginx服务器的平滑启动、平缓停止、平滑升级
    CentOS如何配置yum源
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/12209772.html
Copyright © 2020-2023  润新知