一、建立 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.54\webapps\ 目录下,如下:

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

ps:  tomcat 的debug方法:

apache-tomcat-7.0.54\bin目录下添加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

SpringMVC环境搭建---xml版及注解版的更多相关文章

  1. Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版)

    Mybatis中使用collection进行多对多双向关联示例(含XML版与注解版) XML版本: 实体类: @Data @NoArgsConstructor public class Course ...

  2. SpringMVC环境搭建和详解

    1.Spring容器和SpringMVC容器是父子容器 1.1 SpringMVC容器可以调用Spring容器中的所有内容 1.2 图示 2.SpringMVC环境搭建 1.导入jar包 2.在web ...

  3. springmvc环境搭建及实例

    一. 软件环境 eclipse-jee-mars-R-win32-x86_64 jdk1.7.0_79 apache-tomcat-7.0.52 spring-framework-3.2.0.RELE ...

  4. springmvc-02(配置版与注解版区别)

    首先,我们来看配置版和注解版的相同步骤: 1.新建一个Moudle , springmvc-02-hello , 添加web的支持! 2.确定导入了SpringMVC 的依赖! 3.配置web.xml ...

  5. SpringMVC配置版到注解版

    什么是springmvc? 1.1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑.数据.显示分离的方法来组织代码 ...

  6. Mybatis中使用association及collection进行自关联示例(含XML版与注解版)

    XML版本: 实体类: @Data @ToString @NoArgsConstructor public class Dept { private Integer id; private Strin ...

  7. Mybatis中使用association及collection进行一对多双向关联示例(含XML版与注解版)

    XML版本: 实体类: package com.sunwii.mybatis.bean; import java.util.ArrayList; import java.util.List; impo ...

  8. SpringMVC框架搭建流程(完整详细版)

    SpringMVC框架搭建流程 开发过程 1)配置DispatcherServlet前端控制器 2)开发处理具体业务逻辑的Handler(@Controller. @RequestMapping) 3 ...

  9. 【Spark机器学习速成宝典】基础篇01Windows下spark开发环境搭建+sbt+idea(Scala版)

    注意: spark用2.1.1 scala用2.11.11 材料准备 spark安装包 JDK 8 IDEA开发工具 scala 2.11.8 (注:spark2.1.0环境于scala2.11环境开 ...

随机推荐

  1. Java DB访问之 JDBC

    项目说明 项目采用 maven 组织 ,jdbc 唯一的依赖就是 mysql-connector-java pom 依赖如下: <dependency> <groupId>my ...

  2. CTF---密码学入门第六题 古典密码

    古典密码分值:10 来源: 北邮天枢战队 难度:易 参与人数:5115人 Get Flag:1549人 答题人数:1783人 解题通过率:87% 密文内容如下{79 67 85 123 67 70 8 ...

  3. 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】

    Colorful Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  4. 重新学习一次javascript;

    每次有项目的时候,总觉得自己什么都不会做,然后做的时候又很简单,一会就做完了,啪啪打脸: 每次别人问的时候,我知道怎么做,但是不知道具体原理,觉得瞬间low了: 想要好好的吧基础掌握一下: 这几天空闲 ...

  5. 访问taotao-portal 中controller中返回taotaoresult 测试httppost方法 出现406错误

    方案:1.检查jackson包是否存在 @controller @RequestMapping(value = "/httpclient/post",method=RequestM ...

  6. 自制ZigBee协议分析仪

    关键词  ZigBee  Sniffer 协议  分析仪  自制  CC2530  CC2531 在开发ZigBee / Bluetooth的过程,难免会要用到Sniffer工具,Packet Sni ...

  7. [国嵌攻略][098][Linux内核简介]

    Linux系统架构 1.用户空间:应用程序.C函数库 2.内核空间:系统调用接口.内核.体系结构相关代码 Linux系统利用处理器不同的工作模式,使用其中的两个级别分别来运行Linux内核与应用程序, ...

  8. 10年java过来人聊聊自己的自学、培训和工作经历

    一 . 自我介绍 我叫王涛,我是一位北漂十年的码农,2008年9月份开始自学java,三个月后,自学无果,于2008年11月份开始参加培训,培训完之后,我觉得自己还是啥也不会,只会抄抄代码,竟然连de ...

  9. 01 mysql的安装(windows)

    在安装mysql之前,一般是先下载mysql,推荐大家去Oracle的官网下载,而且尽量使用免安装的版本(即压缩版,解压之后就可以使用的版本,不是.exe的安装版本),因为安装版的mysql在安装过程 ...

  10. python爬虫知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...