springmvc小例子

来源:互联网 发布:mac玩魔兽世界鼠标 编辑:程序博客网 时间:2024/06/03 20:14

springmvc项目创建过程:

1.首先创建一个动态项目(我的用的是eclipse)

2.导入相关的jar包(下载好的jar放到项目的web-inf下的lib里),然后去buildpath--configure buildpath--add jars--选中项目中lib里的jar


3.需要写配置文件(web.xml)直接放在web-inf下

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <description>
      Spring MVC DEOM
    </description>
    <display-name>springMVC</display-name>
    
    <!-- 
        CharacterEncodingFilter类具有encoding和forceEncoding两个属性,其中encoding是表示设置request的编码,forceEncoding表示是否同时设置response的编码。 
        <filter>下的<filter-name>内的值和<filter-mapping>下的<filter-name>内的值要完全一致
    -->
    <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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <!-- /下的所有请求都为UTF-8编码 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <!-- 
        Spring MVC相关设置
        <servlet>下的<servlet-name>内的值和<servlet-mapping>下的<servlet-name>内的值要完全一致
    -->
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <!-- DispatcherServlet主要负责流程的控制 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- Spring MVC配置文件路径 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springMVC-servlet.xml</param-value>
        </init-param>
        <!-- 表示启动容器时初始化该Servlet -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <!-- 表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。 -->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->


</web-app>

4.配置web.xml中指定的springMVC-servlet.xml(这个文件的命名规则:XXX-servlet.xml,其中XXX为web.xml文件里<servlet-name>)直接放在web-inf下

<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util" 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/util
  http://www.springframework.org/schema/util/spring-util-4.2.xsd
  http://www.springframework.org/schema/context 
  http://www.springframework.org/schema/context/spring-context-4.2.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
 <!--  <mvc:annotation-driven></mvc:annotation-driven>
  <context:component-scan base-package="com.game.controller.Helloworld"></context:component-scan> -->
   <bean id = "helloworld" class="com.game.controller.Helloworld">
  </bean> 
</beans>

5.创建java文件

package com.game.controller;


Helloworld.java内容如下:(注意:@controller不要忘记,@RequestMapping(“/XXX”)XXX要和SpringMVC-servlet.xml的bean  id一致)


import java.io.IOException;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class Helloworld {
@RequestMapping("/helloworld")  //此处控制浏览器里访问路径 具体为:/SpringDemo/helloworld
   public void helloWorld(HttpServletRequest request, HttpServletResponse response) throws IOException {
       
       //输出字符串
       response.getWriter().append("hello world");
}
}

6.到此项目创建完毕,只需将项目部署到tomcat,然后在浏览器访问即可。访问的URL:http://localhost:8080/SpringDemo/helloworld




*******************************************************************************************************

其中我遇到的问题是:

1.jar包导入后文件一直不能编译。解决方法是将项目中所有的jar以及library  全部remove掉,重新导入。

没有编译反应出的错误是找不到指定的class文件

2.项目启动成功,但是输入URl访问会出现404,后台报错  

springmvc No mapping found for HTTP request with URI 。。。。。。。。省略。

原因是我在java文件里没有添加@Controller这个注解,导致扫描不到java文件。

 


0 0