java web 之 SpringMVC4.x配置

合肥程序员群:49313181。    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入)
Q  Q:408365330     E-Mail:egojit@qq.com

综述:

有一段时间没做web开发了,最近一直在做Android和IOS开发,但是有个项目需要用同时考虑跨平台必须要用java web做服务端接口。没办法,刚开始写代码那会做的是ASP.NET web开发,现在只能赶鸭子上架了。java 语言倒是挺熟的(android开发一直在用)。但是Java web开发需呀掌握的技术还是蛮多的。凭着我以前做asp.net开发的经验,首先得选好几个框架, MVC框架,ORM工具,IOC和AOP框架。  首先个人特别喜欢MVC模式,所以必不可少选一个MVC框架(既然别人已经造好*了,肯定不会傻到自己去实现MVC模式)。java开源生态圈,可选择的余地非常大,比较出名的莫过于Struts2和SpringMVC.我选择了SpringMVC.没有其它原因,只是它小巧易用性能也相当不错,而且和Spring这ioc框架无缝对接。ORM 我考虑选择mybatis,不用说大家都知道它的优势,半自动ORM,性能必须好o IOC和AOP框架不用选了,就Spring了。毕竟以前都混迹于ASP.NET生态圈中,突然到JAVA web生态圈,必须得做些记录,首先记录下SpringMVC配置和第一个程序。然后就HelloWold了。

SpringMVC配置和第一个HelloWord

一、导入jar包:

eclipse和tomcat配置和集成就不记录了。首先在myeclipse中新建一个web项目(为了学习暂时就不用maven去管理项目了jar包了,全部手动去配置和导入)。

java web 之 SpringMVC4.x配置

如上图:红色圈中是要我们自己手动添加的,config目录是放SpringMVC相关配置的。lib就是我们放jar包的地方,Views是MVC中的View层也就是视图文件目录。

java web 之 SpringMVC4.x配置

将这些jar包拷贝到lib目录中,myeclipse会自动帮助我们处理我这里是MyEclipse10.x。

二、web.xml配置

 1 <!-- 调度用Servlet -->
 2     <servlet>
 3         <servlet-name>DispatcherServlet</servlet-name>
 4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 5         <init-param>
 6             <param-name>contextConfigLocation</param-name>
 7             <param-value>WEB-INF/config/spring-mvc.xml</param-value>
 8         </init-param>
 9         <load-on-startup>1</load-on-startup>
10     </servlet>
11     <!-- URL映射 -->
12     <servlet-mapping>
13         <servlet-name>DispatcherServlet</servlet-name>
14         <url-pattern>/</url-pattern>
15     </servlet-mapping>
16     <servlet-mapping>

重点是这些配置,首先是配置一个Servlet来处理客户端请求,那么是不是什么请求都由着Servlet来处理呢?答案是肯定的,

<servlet-mapping>
          <servlet-name>DispatcherServlet</servlet-name>
          <url-pattern>/</url-pattern>
 </servlet-mapping>
<url-pattern>/</url-pattern>就决定了所有的文件都由这个Servlet来处理。但是我们就疑惑了,我们的静态文件比如.jpg,.js.css这些文件,当然是有它处理。那客户端肯定不能请求了,别急,后面我们有方法处理。桥到船头自然直。
<load-on-startup>1</load-on-startup>
这个就不做过多解释了,就理解成有这个配置它就和tomcat环境以前启动吧。
<param-name>contextConfigLocation</param-name><param-value>WEB-INF/config/spring-mvc.xml</param-value>
这个配置很清晰了,这就是配置SpingMVC的文件,这就是为什么我们手动添加config目录,后面我们会将SpringMVC的配置放进这个目录。

三、SpringMVC配置文件spring-mvc.xml的配置
在config目录中新建这个配置文件。添加如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

        <!-- 配置扫描controller包 -->
        <context:component-scan base-package="com.egojit" />
        <!-- 配置返回类型 -->
        <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
            
        </mvc:message-converters>
    </mvc:annotation-driven>
    <!-- 视图名称的解析 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView"
        p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
        
</beans>
就不做过多解释,代码中有注释。
<!-- 视图名称的解析 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView"
        p:prefix="/WEB-INF/views/" p:suffix=".jsp" />

就解释下这个,这个就是配置mvc 这个c层的目录,也就是View视图的目录路径。 并且配置了后坠是.jsp

四、代码Controller和HelloWorld:

 首先仔细看下图:

java web 之 SpringMVC4.x配置

package com.egojit;


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



@Controller
public class testController{
    
    @RequestMapping("/test/index")
    private String Index(){
        
        return "ok";
    }

}

我通过注解的方式新建了一个Controller. 

并且通过@RequestMapping("/test/index")注解映射了URL 它对应的URL是   http://localhost:8080/test3/test/index

return "ok"表示返回了views视图目录中的ok.jsp文件(看上图的红圈)。这有一个完美的HelloWorld展现在我们面前了。如下图

java web 之 SpringMVC4.x配置

这样SpringMVC就可以用了,会用了后面深入不是分分钟的事情嘛,

后记:

如果有什么问题希望各位网友指正,比较小弟是初次做java web开发。案例程序可以进CSDN我的资源中去下载,无须积分。jar包和源码都放在上面,点击传送