spring mvc restful工程demo

来源:互联网 发布:淘宝代发论文被骗 编辑:程序博客网 时间:2024/05/16 00:46

在搭建restful工程之前,首先要保证maven工程会搭建,如果不会的,可以参考我的另外两篇博文


        http://blog.csdn.net/haishuitian1/article/details/42783757


http://blog.csdn.net/haishuitian1/article/details/42783793


基本的maven工程搭建成功后,就需要将现在的工程搭建成spring restful工程,具体步骤如下:


1.现在创建的仅仅是一个web工程,第一步需要将web工程改造成spring mvc工程。


(1)pom.xml中引入所需要的spring jar包


    <!-- spring begin -->  <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</artifactId>      <version>${spring.version}</version>  </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-jdbc</artifactId>      <version>${spring.version}</version>  </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context</artifactId>      <version>${spring.version}</version>  </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-aop</artifactId>      <version>${spring.version}</version>  </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-core</artifactId>      <version>${spring.version}</version>  </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-test</artifactId>      <version>${spring.version}</version>  </dependency>    <!-- spring end --> 

(2)web.xml的改造


<?xml version="1.0" encoding="UTF-8"?>  <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_3_0.xsd"           version="3.0">  <display-name>Archetype Created Web Application</display-name><!--引入spring必须配置的--><servlet>      <servlet-name>dispatcher</servlet-name>      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>      <load-on-startup>1</load-on-startup>  </servlet>  <!-- 设置dispatchservlet的匹配模式,通过把dispatchservlet映射到/,默认servlet会处理所有的请求,包括静态资源 -->  <servlet-mapping>     <servlet-name>dispatcher</servlet-name>     <url-pattern>/</url-pattern>  </servlet-mapping>      <!-- 设置编码过滤器 非必须的--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>  </web-app>
(3)web.xml中配置了dispatcher后,就需要配置controller了,默认是在dispatcher-servlet.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"      xmlns:p="http://www.springframework.org/schema/p"      xsi:schemaLocation="http://www.springframework.org/schema/beans              http://www.springframework.org/schema/beans/spring-beans.xsd              http://www.springframework.org/schema/mvc              http://www.springframework.org/schema/mvc/spring-mvc.xsd              http://www.springframework.org/schema/context              http://www.springframework.org/schema/context/spring-context.xsd"      default-lazy-init="true">            <!-- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器 -->      <!-- 设置不过滤内容,比如:css,jquery,img 等资源文件 -->      <mvc:resources location="/*.html" mapping="/**.html" />      <mvc:resources location="/css/*" mapping="/css/**" />      <mvc:resources location="/js/*" mapping="/js/**" />      <mvc:resources location="/images/*" mapping="/images/**" />            <!-- 添加注解驱动 @controller-->      <mvc:annotation-driven />      <!-- 默认扫描的包路径 -->      <context:component-scan base-package="com.nust.rest" />            <!-- mvc:view-controller可以在不需要Controller处理request的情况,转向到设置的View -->      <!-- 像下面这样设置,如果请求为/,则不通过controller,而直接解析为/index.jsp -->      <mvc:view-controller path="/" view-name="index" />      <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">          <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>          <!-- 配置jsp路径前缀 -->          <property name="prefix" value="/"></property>          <!-- 配置URl后缀 -->          <property name="suffix" value=".jsp"></property>      </bean>        </beans>  


(4)然后是jsp中新增表单信息


<form action="login">      用户名:<input id="username" name="username" type="text"></input><br>      密  码:<input id="username" name="password" type="password"></input><br>      <input type="submit">  </form>  
对应的controller是

@Controllerpublic class RestController {@RequestMapping("login") //用来处理前台的login请求      private @ResponseBody String hello(              @RequestParam(value = "username", required = false)String username,              @RequestParam(value = "password", required = false)String password              ){          return "Hello "+username+",Your password is: "+password;                }  }


和大部分人一样,在搭建的过程中并不是一帆风顺的,其中碰到一个关键性错误问题:


java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter


很明显是jar包没有找到,我找了好多办法,最后都想手动lib下添加jar包了,但是还是通过这篇博文找到了答案:

  

    http://blog.sina.com.cn/s/blog_8ced01900101ba3f.html


2.spring mvc改造成功之后,接下来要改造成restful的形式





0 0
原创粉丝点击