zoukankan      html  css  js  c++  java
  • SpringMVC简单搭建与入门

    SpringMVC框架是spring框架的一个模块。springmvc和spring无需要通过中间整合层进行整合。

    学习的时候,先了解一下流程至关重要,下面,简单介绍一下流程。

    源码下载:http://pan.baidu.com/s/1mgUEaYs

    1,用户发出请求到DispatcherServlet,我们就要在web.xml中去配置DispatcherServlet,从而拦截请求到Spring Web MVC。

    2,拦截到的请求,将请求映射到处理器HandlerMapping。

    3,处理器适配器对handler进行适配。

    4,进行适配后,调用相应的处理方法。

    5,进行视图解析,页面控制器进行配置。

    6,视图处理后,返回到相应的相应界面。

    下面介绍springMVC的搭建过程。

    一、导入jar包。

    二、创建三个jsp界面,一个开始界面,一个成功界面,一个失败界面。

    分别是:login.jsp,success.jsp,error.jsp。

    三、来配置一下web.xml文件吧。

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://java.sun.com/xml/ns/javaee"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     5     id="WebApp_ID" version="2.5">
     6     <servlet>
     7         <servlet-name>Dispatcher</servlet-name>
     8         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     9         
    10         <!-- Spring配置文件 -->
    11         <init-param>
    12             <param-name>contextConfigLocation</param-name>
    13             <param-value>classpath:springmvc.xml</param-value>
    14         </init-param>
    15     </servlet>
    16     <servlet-mapping>
    17         <servlet-name>Dispatcher</servlet-name>
    18         <url-pattern>*.do</url-pattern>
    19     </servlet-mapping>
    20 </web-app>

    我们可以看到,在配置web.xml中的DispatcherServlet,这就是流程中的第一步,用户发出请求到DispatcherServlet,我们就要在web.xml中去配置DispatcherServlet,从而拦截请求到Spring Web MVC。

    然后,我们能看到下一行,对springMVC文件进行配置。

    四,配置springmvc.xml文件。

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
            
        <bean id="userInfoController" class="com.controller.UserInfoController">
            <property name="successView" value="success"></property>
            <property name="errorView" value="login"></property>
        </bean>
        <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/user.do">userInfoController</prop>
                </props>
            </property>
        </bean>
        
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    </beans>

    在第十行代码中,我们看到了SimpleUrlHandlerMapping,拦截到的请求,将请求映射到处理器HandlerMapping。
    五、先建一个userinfo类,然后创建步骤四中UserInfoController,这个东西该提前建好,好在我所谓的步骤四中配置。

     1 package com.po;
     2 
     3 public class UserInfo {
     4     private int id;
     5     private String name;
     6     private String pwd;
     7     public UserInfo() {
     8         super();
     9     }
    10     public UserInfo(int id, String name, String pwd) {
    11         super();
    12         this.id = id;
    13         this.name = name;
    14         this.pwd = pwd;
    15     }
    16     public int getId() {
    17         return id;
    18     }
    19     public void setId(int id) {
    20         this.id = id;
    21     }
    22     public String getName() {
    23         return name;
    24     }
    25     public void setName(String name) {
    26         this.name = name;
    27     }
    28     public String getPwd() {
    29         return pwd;
    30     }
    31     public void setPwd(String pwd) {
    32         this.pwd = pwd;
    33     }
    34     
    35     
    36 }
    View Code
     1 package com.controller;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 import javax.servlet.http.HttpServletRequest;
     7 import javax.servlet.http.HttpServletResponse;
     8 
     9 import org.springframework.web.servlet.ModelAndView;
    10 import org.springframework.web.servlet.mvc.AbstractController;
    11 
    12 import com.po.UserInfo;
    13 
    14 public class UserInfoController extends AbstractController{
    15     private String successView;
    16     private String errorView;
    17     
    18     public String getSuccessView() {
    19         return successView;
    20     }
    21 
    22     public void setSuccessView(String successView) {
    23         this.successView = successView;
    24     }
    25 
    26     public String getErrorView() {
    27         return errorView;
    28     }
    29 
    30     public void setErrorView(String errorView) {
    31         this.errorView = errorView;
    32     }
    33 
    34     @Override
    35     protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse res) throws Exception {
    36         // TODO Auto-generated method stub
    37         String name = req.getParameter("username");
    38         String pwd = req.getParameter("userpass");
    39         UserInfo user = getUser(1,name, pwd);
    40         Map<String, Object> model = new HashMap<String,Object>();
    41         if(user!=null){
    42             model.put("user", user);
    43             return new ModelAndView(getSuccessView(),model);
    44         }else{
    45             model.put("error", "用户名或密码输入失败!!");
    46             return new ModelAndView(getErrorView(),model);
    47         }
    48         
    49     }
    50     
    51     public UserInfo getUser(int id,String name,String pwd){
    52         if(name.equals("test")&&pwd.equals("test")){
    53             return new UserInfo(1, name,pwd);
    54         }else{
    55             return null;
    56         }
    57     }
    58 }
    View Code

    好了,这springmvc算配置好了。不足之处,欢迎请指正。

  • 相关阅读:
    react ts axios 配置跨域
    npm run eject“Remove untracked files, stash or commit any changes, and try again.”错误
    java 进程的参数和list的线程安全
    帆软报表 大屏列表跑马灯效果JS
    帆软报表 快速复用数据集,避免重复劳动
    分析云 OA中部门分级思路和实现方法
    分析云 分段器 只显示一个块的数据
    分析云 更改服务默认的端口号
    分析云U8项目配置方法新版本(2)
    Oracle 创建时间维度表并更新是否工作日字段
  • 原文地址:https://www.cnblogs.com/invban/p/5115815.html
Copyright © 2011-2022 走看看