关于SpringMVC(2)

构成基于SpringMVC应用程序的最基本要素

  • 入口程序 —— DispatcherServlet
  • 核心配置 —— [servlet-name]-servlet.xml
  • 控制逻辑 —— UserController
从应用程序自身的角度来看,入口程序和核心配置一旦确定之后将保持固定不变的,而控制逻辑则随着整个应用程序功能模块的扩展而不断增加。所以在这种编程模式下,应用程序的纵向扩展非常简单并且显得游刃有余。
在Servlet模型中,请求-响应的实现依赖于两大元素的共同配合:

1. 配置Servlet及其映射关系(在web.xml中) 
<servlet>  
    <servlet-name>registerServlet</servlet-name>  
    <servlet-class>com.demo2do.springmvc.web.RegisterServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  
</servlet>  
          
<servlet-mapping>  
    <servlet-name>registerServlet</servlet-name>  
    <url-pattern>/register</url-pattern>  
</servlet-mapping> 

在这里,<url-pattern>定义了整个请求-响应的映射载体:URL;而<servlet-name>则将<servlet>节点和<servlet-mapping>节点联系在一起形成请求-响应的映射关系;<servlet-class>则定义了具体进行响应的Servlet实现类。 

2. 在Servlet实现类中完成响应逻辑 
<span style="font-family:Microsoft YaHei;font-size:14px;">public class RegisterServlet extends  HttpServlet {  
  
     @Override  
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  
      
         // 从request获取参数  
         String name = req.getParameter("name");  
         String birthdayString = req.getParameter("birthday");  
           
         // 做必要的类型转化  
         Date birthday = null;  
         try {  
             birthday = new SmpleDateFormat("yyyy-MM-dd").parse(birthdayString);  
         } catch (ParseException e) {  
         e.printStackTrace();  
         }  
  
         // 初始化User类,并设置字段到user对象中去  
         User user = new User();  
         user.setName(name);  
         user.setBirthday(birthday);  
  
         // 调用业务逻辑代码完成注册  
         UserService userService = new UserService();  
         userService.register(user);  
           
         // 设置返回数据  
         request.setAttribute("user", user);  
  
         // 返回成功页面  
         req.getRequestDispatcher("/success.jsp").forward(req, resp);  
     }  
}  </span>

Servlet实现类本质上是一个Java类。通过Servlet接口定义中的HttpServletRequest对象,我们可以处理整个请求生命周期中的数据;通过HttpServletResponse对象,我们可以处理Http响应行为。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值