zoukankan      html  css  js  c++  java
  • springMVC 之 helloworld

    要想使用springMVC 先要导入相应的jar包 现在新建一个web project工程 把相应的包放在 WebRoot下的WEB-INF想的lib目录下:

    在暂时不使用注解的情况下只要导入下面的jar包 (这是在spring3的jar包 如果是spring2.*的话 只要找相应的变一下就行):

    当这些jar包放到lib目录下之后,现在要配置一下web.xml了:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
     3   <display-name></display-name>
     4   <servlet>
     5     <servlet-name>mvc-dispatcher</servlet-name>
     6     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     7     <load-on-startup>1</load-on-startup>
     8   </servlet>
     9   <servlet-mapping>
    10     <servlet-name>mvc-dispatcher</servlet-name>
    11     <url-pattern>*.test</url-pattern>
    12   </servlet-mapping>
    13 </web-app>

    org.springframework.web.servlet.DispatcherServlet是springMVC的负责接收和处理所有web请求的front controller 他将读取相应的配置文件 再把请求转发到相应的控制器:
    现在来写一个简单的控制器:

     1 package com.yixi.controller;
     2 
     3 import javax.servlet.http.HttpServletRequest;
     4 import javax.servlet.http.HttpServletResponse;
     5 
     6 import org.springframework.web.servlet.ModelAndView;
     7 import org.springframework.web.servlet.mvc.Controller;
     8 
     9 public class HelloController implements Controller {
    10 
    11     public ModelAndView handleRequest(HttpServletRequest request,
    12             HttpServletResponse response) throws Exception {
    13         request.setAttribute("msg","HelloController....运行了");
    14         return new ModelAndView("hello");
    15     }
    16 
    17 }

    控制器要实现Controller或者继承AbstractController 然后实现相应的方法即可。

    在这里的return new ModelAndView("hello"); 是会返回到以hello为名称的相应的页面上 , 那它到底是转到哪里呢? 这个就是要看配置文件中的配置了;那配置文件是怎样配置的呢?

    1.首先 我们在web.xml文件中配置的是<servlet-name>mvc-dispatcher</servlet-name> 那么配置文件的名称默认要为${servlet-name}-servlet.xml 即mvc-dispatcher-servlet.xml 配置内容如下:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
     4     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
     7                        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
     8                        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
     9                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    10                        http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
    11 
    12     <!-- 映射解释器 -->
    13        <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    14                <property name="mappings">
    15                    <props>
    16                        <prop key="hello.test">helloController</prop>
    18                    </props>
    19                </property>
    20        </bean>
    21        <!-- 视图解释器 -->
    22        <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    23                <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
    24                <property name="prefix" value="/WEB-INF/jsp/"></property>
    25                <property name="suffix" value=".jsp"></property>
    26        </bean>
    27     <bean id="helloController" class="com.yixi.controller.HelloController"></bean>
    28  </beans>

    org.springframework.web.servlet.handler.SimpleUrlHandlerMapping这个映射解析器是根据提交的URL来找相应的Controller 例如在这就是老公url中是hello.test 那么将会去找helloController 而helloController将由<bean id="helloController" class="com.yixi.controller.HelloController"></bean>来配置。

    org.springframework.web.servlet.view.UrlBasedViewResolver是视图解析器 它其中有几个属性:

      a.  viewClass :这是配置将要显示的视图是什么类型的  org.springframework.web.servlet.view.JstlView是jsp的View类型 ,    其中还有ptf,execl,xml等类型的。

      b.  prefix: 这是配置要找的视图的路径前缀:在这就是/WEB-INF/jsp/目录下的

      c. suffix:这是配置要找的视图的路径后缀:在这就是.jsp结尾的 

      所以要找的视图是:/WEB-INF/jsp/hello.jsp 

    在加载的时候默认会到/WEB-INF目录下去找这个配置文件 所以mvc-dispatcher-servlet.xml应该放在WEB-INF目录下面 当然还要把hello.jsp文件放到/WEB-INF/jsp/目录下。

    现在访问http://localhost:8080/项目名/hello.test 即可访问到hello.jsp文件。

    这样关于springMVC的一个helloworld的程序就写完了。

     

  • 相关阅读:
    springmvc 方法参数自定义的解析
    numpy生成随机数组,超几何分布与连续分布
    机器学习笔试知识点
    梯度下降(Gradient Descent)小结
    numpy傅里叶变换
    numpy奇异值分解,广义逆矩阵与行列式
    numpy求解特征值和特征向量
    Scrapy简单介绍
    python异步库twisted
    同步,异步,阻塞和非阻塞的通俗理解
  • 原文地址:https://www.cnblogs.com/yixiwenwen/p/2736645.html
Copyright © 2011-2022 走看看