SpringMVC01--Servlet

1. MVC: Model   View  Controller

处理过程:

1.用户发请求

2.Servlet接收请求数据,并调用对应的业务逻辑方法

3.业务处理完毕,返回更新后的数据给servlet

4.servlet转向到JSP,由JSP来渲染页面

5.响应给前端更新后的页面

职责分析:

Controller:控制器 (servlet)

1.取得表单数据

2.调用业务逻辑

3.转向指定的页面

Model:模型(dao 层)

1.业务逻辑

2.保存数据的状态

View:视图(html jsp等)

1.显示页面

2. Servlet

实现了Servlet接口的类就是一个servlet。 一般采用继承HttpServlet类来实现servlet,因为HttpServlet类继承了GenericServlet类,而GenericServlet类实现了Servlet接口。

其次Servlet接口中有一个重要的抽象方法叫service(ServletRequest req , ServletResponse resp),它是我们写的具体操作,通过req对象的调用来处理响应http请求报文,处理结果resp返回给响应报文。具体流程如下图:

这个web容器就相当于我用的tomcat

关于servlet,当写好servlet类之后 要在web.xml文件中注册,目的是告诉web我们的servlet的地址url等信息,使得网页可以访问到这个资源。就像下面一样

 <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.chang.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/user</url-pattern>
    </servlet-mapping>

3.HttpServletRequest类的作用及方法

先看一段狂神示例的代码:

package com.chang.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取前端参数
        String method = req.getParameter("method");
        if (method.equals("add")){
            req.getSession().setAttribute("msg","执行了add方法");
        }
        if (method.equals("delete")){
            req.getSession().setAttribute("msg","执行了delete方法");
        }

        //2.调用业务层

        //3.视图转发或者重定向
        req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

这里获取前端的参数method就相当于获取前端提交过来的表单的参数信息。

req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").表示将请求转发给另一个servlet,这个servlet地址信息为"/WEB-INF/jsp/test.jsp",然后通过forward方法走向这个servlet.

偷懒了.....

 

 

 

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值