springMVC 入门程序 helloworld!

简介: springMVC 入门程序 helloworld!

(本人还只是一个新手,如有什么不正确之处,希望各位能够指出)


springMVC是一个目前市场上日渐变火的一款框架,springmvc的核心配置其实还是来自于spring里头,在这里我使用的是springmvc3.0的版本和myeclipse2015工具。


在学习使用一门框架的时候,我们一般都是按照以下的顺序去进行的:


1.导入jar包

2.添加配置

3.编写相应的java类

4.运行测试


首先我们在myeclipse里面新建一个web项目,然后倒入相应的jar包:


网络异常,图片无法展示
|


接下来,我们开始编写配置文件。首先我们看到web.xml,在web.xml配置里面有一个叫做DispatcherServlet的分发器,他可以将前端页面发送过来的每一个请求都做一次转发。


这个时候,我们可以在配置里面添加一个初始化的值contextConfigLocation,这个是一个特定的称号,意思是指配置文件的放置位置在哪里。


<?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" version="3.0">
  <!-- 当在这里初始化之后,DispatcherServlet会去读取一个[servlet-name]-servlet.xml -->
   <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>
复制代码


接下来便是springMVC-servlet.xml的配置了(这里要注意,springmvc框架里面对于管理控制器类的配置文件都有一种默认的命名规范是“[servlet-name]-servlet.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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="  
    http://www.springframework.org/schema/beans   
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context-3.0.xsd  
    http://www.springframework.org/schema/mvc  
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    <bean name="/helloworld" class="com.sise.lh.controller.Controllers">
    </bean>
</beans>
复制代码


在springMVC-servlet.xml配置里面,有一个叫做bean的标签用于管理外部访问的内容,

bean里面包含了id和name两个属性,这里头其实对其的设置是有一定的讲究的;我们不妨可以回顾一下struts这款框架的设计,当一个请求从外部访问一个action的时候都是先通过web.xml,然后根据里面写好的一个分发器通过相应的name来访问相应的action。


这一点原理,springmvc在设计的时候和struts很像,bean里面的name值是针对容器外部访问的值,也就是浏览器顶部的url里面输入的内容来进行是别的。


再回想一下spring框架里面的设计,每一个bean在spring容器里面都是有用到一个id来作为一个唯一标识,但是id具有一定的安全性,它只是在提供给spring容器里面内部访问的。在这里,因为要给web页面的用户去访问,所以我设置的是name而不是id。


最后是控制器类(有点类似于struts2里面的action)


package com.sise.lh.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class Controllers implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    response.getWriter().print("HelloWorld!");
    return null;
}
}
复制代码


最终下来,整个项目的结构如下图:


网络异常,图片无法展示
|


这个时候我们在浏览器的顶端输入url即可进行测试:


网络异常,图片无法展示
|


结果和预期的一样,最终在浏览器上出现了“HelloWorld!”这样的内容

目录
相关文章
|
20天前
|
前端开发 Java Spring
Spring MVC 是如何对对象参数进行校验的
【6月更文挑战第4天】对象参数校验是使用 SpringMVC 时常用的功能,这篇文章尝试分析了,Spring 是如何实现这一功能的。
30 5
|
2天前
|
JSON 前端开发 Java
spring mvc Rest风格
spring mvc Rest风格
8 0
|
4天前
|
安全 前端开发 Java
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
12 1
|
7天前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
12 1
|
7天前
|
前端开发 Dubbo Java
spring面试题_spring mvc面试题_springboot面试题库
spring面试题_spring mvc面试题_springboot面试题库
|
9天前
|
JSON 前端开发 Java
【JavaEE进阶】 关于Spring MVC 响应
【JavaEE进阶】 关于Spring MVC 响应
15 3
|
10天前
|
缓存 NoSQL Java
在 SSM 架构(Spring + SpringMVC + MyBatis)中,可以通过 Spring 的注解式缓存来实现 Redis 缓存功能
【6月更文挑战第18天】在SSM(Spring+SpringMVC+MyBatis)中集成Redis缓存,涉及以下步骤:添加Spring Boot的`spring-boot-starter-data-redis`依赖;配置Redis连接池(如JedisPoolConfig)和连接工厂;在Service层使用`@Cacheable`注解标记缓存方法,指定缓存名和键生成策略;最后,在主配置类启用缓存注解。通过这些步骤,可以利用Spring的注解实现Redis缓存。
33 2
|
9天前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
21天前
|
前端开发 IDE Java
Spring3 MVC 集成Velocity中文支持
Spring3 MVC 集成Velocity中文支持
35 7
|
18天前
|
JSON 前端开发 Java
Spring MVC 级联对象参数校验
【6月更文挑战第6天】在 Spring MVC 的使用过程中,我们会发现很多非常符合直觉的功能特性,但往往我们会习惯这种「被照顾得很好」的开发方式,依靠直觉去判断很多功能特性的用法。
19 1