springMVC(2)------springMVC开发环境搭建(注解方式)
来源:互联网 发布:php content length 编辑:程序博客网 时间:2024/06/14 22:58
这里用spring4.1.8版本搭建SpringMVC开发环境实例。
1.需要jar包
commons-logging.jar
spring-aop-4.1.8.RELEASE.jar
spring-beans-4.1.8.RELEASE.jar
spring-context-4.1.8.RELEASE.jar
spring-core-4.1.8.RELEASE.jar
spring-expression-4.1.8.RELEASE.jar
spring-web-4.1.8.RELEASE.jar
spring-webmvc-4.1.8.RELEASE.jar
2.项目结构
3.web.xml配置
配置一个名字为springMVCDispatcherServlet的servlet,load-on-startup指定在加载web应用时创建servlet,而不是在发送第一次请求时创建servlet.
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- 配置DisptatcherServlet --> <servlet> <servlet-name>springMVCDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置DispatcherServlet的初始化参数 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- web应用被加载的时候创建servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVCDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>4.spring-mvc.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" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <!-- 配置自动扫描的包 --><context:component-scan base-package="com.lanhuigu.springmvc"/><!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置前缀 --> <property name="prefix" value="/WEB-INF/views/"/> <!-- 配置后缀 --> <property name="suffix" value=".jsp"/> </bean></beans>
context:component-scan: 指定从什么文件下扫描包,是使用注解的前提;
InternalResourceViewResolver: 配置视图解析器,通过它解析控制器处理完后跳转到哪个视图,指定方式:
前缀(prefix)+返回值(returnVal)+后缀(suffix)得到视图,通过转发器转发操作,比如这个实例解析的实际视图路径如下:
/WEB-INF/views/success.jsp
5.Controller配置(HelloWorldController.java)
通过@Controller注解说明该类非普通类,而是一个控制器类。
@RequestMapping("/helloworld")注解映射请求地址
package com.lanhuigu.springmvc.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;/** * 通过@Controller指定该类为控制器类 */@Controllerpublic class HelloWorldController {/** *1.通过RequestMapping注解映射请求URL *2.返回值通过InternalResourceViewResolver解析到实际的视图,解析方式: *前缀(prefix)+返回值(returnVal)+后缀(suffix)得到视图,通过转发器转发操作 *比如这个实例解析的实际视图路径如下: * /WEB-INF/views/success.jsp */@RequestMapping("/helloworld")public String hello() { return "success"; }}6.视图配置(success.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>spring MVC实例初体验</title> </head> <body> <h1>test success</h1> </body> </html>7.启服务,浏览器访问
浏览器输入地址:http://localhost:9000/SpringMVC/helloworld(注意,根据自己tomcat的端口号)
浏览器页面可以看到test Success字样说明springMVC实例创建成功。
页面效果:
关于spring-mvc.xml文件加载问题:
(1)在上面的实例中,spring-mvc.xml在web.xml中通过参数初始化的形式加载:
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
使用这种方式加载spring-mvc.xml是主动进攻方式,可以使用springMVC默认的方式加载文件。
将web.xml中的初始化参数部分去掉,不显示的去加载spring-mvc.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- 配置DisptatcherServlet --> <servlet> <servlet-name>springMVCDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- web应用被加载的时候创建servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVCDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>同时,将src下的spring-mvc.xml移到WEB-INF下,改名字为springMVCDispatcherServlet-servlet.xml,此时的项目结构如图:
springMVC默认加载配置文件名字命名格式:
<servlet-name>springMVCDispatcherServlet</servlet-name>中的springMVCDispatcherServlet+servlet.xml
如果<servlet-name>为别的比如dispatcher,则名字就为dispatcher-servlet.xml,格式为<servelt-name>-servlet.xml。
别的不需要动,重新输入helloworld的请求地址测试,效果一样。
注意:一般加载spring-mvc.xml配置文件不用默认加载方式,一般通过web.xml中显示配置加载
- springMVC(2)------springMVC开发环境搭建(注解方式)
- 搭建SpringMVC开发环境
- SpringMvc注解方式开发入门
- 使用注解方式开发SpringMVC
- SpringMVC注解开发方式一
- SpringMVC注解开发方式二
- SpringMVC+Spring+Mybatis 环境搭建问题记录(注解开发)
- springMVC(一)、springMVC框架开发环境搭建
- springMVC环境搭建-2
- 1.SpringMVC开发环境搭建
- SpringMVC+Maven 开发环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- 基于注解的SpringMVC+freemarker环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- 基于注解的SPRINGMVC+FREEMARKER环境搭建
- c++作业4
- netstat
- hdu 2099 整除的尾数
- 原子操作的语义解读
- 使用Stetho调试Retrofit的网络请求
- springMVC(2)------springMVC开发环境搭建(注解方式)
- C++异常处理第四篇 Loki::ScopeGuard
- 登录注册(一)
- 正则表达式小结
- OpenCv学习笔记(一)--OpenCv所涉及的主要模块的简述
- Oracle数据库导入Excel的方法
- C++线程池
- spring如何下载源码和jar包
- 第三章 使用CSS技术美化