zoukankan      html  css  js  c++  java
  • SpringMVC环境搭建---xml版及注解版

    一、建立 JavaWeb 项目(基于Intellij 14.0.3搭建)

      1、建立一个 Java 项目,在项目下新建一个文件夹 webapp ,然后在该文件夹下新建一个 WEB-INF 文件夹;

      2、在 WEB-INF文件夹下建立 web.xml 文件,从 tomcat 安装路径 /conf/web.xml 中拷贝基本的文档结构,修改相应编码为 utf-8;

      3、在 WEB-INF 下建立 jsp 文件夹,用来存放相关jsp 文件(MVC 中的 V);

      4、在 WEB-INF 下建立 lib 文件夹,用来存放相关 jar 包;

      5、在 WEB-INF 下建立 web.xml 文件。

    完成后的工程目录如下:

    二、Spring配置:

    1、需要导入的包如下:

     2、web.xml配置:

    1) 打开项目中的 web.xml文件,注意修改文件的web-app标签的相关schema约束如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
             version="3.0">
    </<web-app >
    

    2) 在 web.xml 添加一个Spring 的 servlet ,使程序启动时加载此 servlet,配置如下:

    <servlet>
            <servlet-name>spring</servlet-name>
            <servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
    </servlet>
    

      注:<load-on-startup>元素标记容器是否在启动的时候就加载这个servlet

       1)它的值必须是一个整数,表示servlet应该被载入的顺序;

         2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;

       3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载;

       4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载;

       5)当值相同时,容器就会自己选择顺序来加载。

    3) 配置 spring-url 拦截:

    <servlet-mapping>
            <servlet-name>spring</servlet-name>
            <url-pattern>/</url-pattern>
    </servlet-mapping>
    

     注:<url-pattern>/</url-pattern>表示所有后缀为/的url请求都会被spring拦截

    4) 配置字符编码过滤器:

        <filter>
            <filter-name>encodingFilter</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>encodingFilter</filter-name>
            <url-pattern>/</url-pattern>
        </filter-mapping>
    

    5) welcome-page配置:

      <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    

    2. spring-servlet.xml配置(主要是 url 映射,页面目录及控制器配置)

    1) WEB-INF文件夹下配置spring-servlet.xml文件(名称取决于上面web.xml文件中的 <servlet-name>标签)

    2) 注解版配置如下:

    <?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:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
        <context:component-scan base-package="cn.com">
            <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
            <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
        </context:component-scan>
    
        <mvc:annotation-driven></mvc:annotation-driven>
    
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp" />
            <property name="suffix" value=".jsp" />
        </bean>
    </beans>
    

      说明:

          a)<context:component-scan>:配置spring组件扫描,base-package需要配置项目的包路径

      b)  <bean>: 对转向页面的路径解析。prefix:前缀, suffix:后缀

    3) 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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp" />
            <property name="suffix" value=".jsp" />
        </bean>
    
        <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/index/">IndexAction</prop>
                </props>
            </property>
        </bean>
    
        <bean id="IndexAction" class="cn.com.IndexAction">
            <property name="view">
                <value>index</value>
            </property>
        </bean>
    </beans>

       注:在bean中配置有属性(包括 bean 格式的属性)时,bean 对应的 java 文件内必须要定义一个与 property 的 name 名字一样的属性值,并且需要有这个属性值的 getter 和 setter 方法。

    3、Controller编码实现:

    1) 注解版:

     2)xml版:

    4、index.jsp文件编码:

    <%
    String data = request.getAttribute("Hello").toString();
    response.getWriter().write(data);
    %>
    

    三、 Tomcat配置:

    Tomcat版本: apache-tomcat-7.0.54

    将项目包下的webapp文件夹放入 tomcat 解压包的 apache-tomcat-7.0.54webapps 目录下,如下:

    注意将jsp和lib文件夹也移至 WEB-INF 文件夹目录下

    ps:  tomcat 的debug方法:

    apache-tomcat-7.0.54in目录下添加debug.bat,内容如下:

    set JPDA_ADDRESS=8000 
    set JPAD_TRANSPORT=dt_socket 
    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 
    startup 

    四、 效果展示:

    1)注解版:

    2)xml版:

     参考原文:

    http://www.cnblogs.com/shinejaie/p/5244258.html  

    http://www.cnblogs.com/shinejaie/p/5248159.html

  • 相关阅读:
    半导体质量管理_Stargate
    半导体质量管理_eCAP LineWorks SPACE eCAP(电子OCAP)
    半导体质量管理_SQM 供应商质量管理
    半导体质量管理(LineWorks)_SPACE(统计过程分析和控制环境)
    计算机架构(层的由来)
    三层网络结构(客户端,应用服务层,数据源层)
    Navigator对象
    为什么大型互联网都需要网关服务?
    igate(因特网网关)
    [分享] SDK 2018.3烧写没有DDR的单板的Flash
  • 原文地址:https://www.cnblogs.com/hunterCecil/p/6441768.html
Copyright © 2011-2022 走看看