您的位置:首页 > 编程语言 > Java开发

springMVC

2016-06-05 18:26 267 查看
突然想对springmvc做个简单的整理哈哈~写到后面突然有很多内容,不是一两句话、一两个例子能说清楚,待完善中...

一、什么是springmvc

  (1)理解

  springmvc是当前的主流的MVC框架,跟struts2类似,虽然struts2是已经是一个成熟的框架,但是随着springmvc后来居上,很多公司都开始用springmvc+spring+mybatis进行开发。struts2开发效率高,但是springmvc性能比struts2好,所以springmvc是比较适用大型的项目开发。其实MVC框架很多内容可以进行类比,所以学了struts2之后再学springmvc也就没那么难。下面的总结可能有些整理的不全面

  (2)原理图

  




二、spring环境的搭建

(1)导入相关jar包(可以用maven依赖注入)

不用annotation:

commons-logging-1.1.3.jar
spring-beans-4.2.4.RELEASE.jar
spring-context-4.2.4.RELEASE.jar
spring-core-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
spring-web-4.2.4.RELEASE.jar
spring-webmvc-4.2.4.RELEASE.jar

用annotation:

commons-logging-1.1.3.jar
spring-beans-4.2.4.RELEASE.jar
spring-context-4.2.4.RELEASE.jar
spring-core-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
spring-web-4.2.4.RELEASE.jar
spring-webmvc-4.2.4.RELEASE.jar

spring-aop-3.1.1.RELEASE.jar

用maven:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>


二、web.xml

   DispatcherServlet归根到底就是servlet,所以在web.xml配置DispatcherServlet跟配置servlet一样

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!-- 显示名称 -->
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>

<!-- spring容器配置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 定义DispatcherServlet,与struts2相似 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 服务器一启动,就立刻初始化 DispatcherServlet类 -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- servlet的映射 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 哪些url经过进入给spring-mvc.xml配置 -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>


三、springmvc-servlet.xml

  这个xml就是对controller的配置,包括如何url访问如何找到对应的controller;controller返回的ModelAndView或者String,如何根据其找到相对应的jsp页面;还有各种各样的配置(比如json、乱码...)下面的代码不是用注解方式

<!-- 启动自动扫描该包下所有的Bean(例如@Controller) -->
<!--<context:component-scan base-package="com.team" /> -->

<!-- 配置handlerMapping -->
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- 配置handlerAdapter -->
<bean
class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

<!-- 定义视图解析器 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 前缀 -->
<property name="prefix">
<value>/WEB-INF/view/</value>
</property>
<!-- 后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- 配置请求和处理器 -->
<bean name="/hello.do" class="com.team.controller.HelloController"></bean>


四、controller

  对于controller有多种实现方法,注解的方式比较多,后面再对注解进行详细写

public class HelloController implements Controller{

@Override
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse resp) throws Exception {
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "hello springmvc");
mv.setViewName("hello");//设置跳转的页面的名字
return mv;
}

}


五、jsp页面

  通过${msg}就能将对应的数据显示出来

六、访问的路径:http://localhost:8080/项目名/hello.do 就可以访问到对应的/WEB-INF/view/hello.jsp对应的jsp页面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: