关于SpringMVC(2)

来源:互联网 发布:mac系统cad字体设置 编辑:程序博客网 时间:2024/06/06 06:35

构成基于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
原创粉丝点击