博客
关于我
Java的Web应用框架Spring MVC开发的详细步骤
阅读量:473 次
发布时间:2019-03-06

本文共 3711 字,大约阅读时间需要 12 分钟。

以下是优化后的内容:


Spring MVC环境搭建指南

Spring MVC 是一个基于 Java 的 Web 应用框架,适合构建灵活且易于维护的 Web 应用程序。本文将详细指导如何在开发环境中搭建 Spring MVC 项目。

一、环境搭建

1. 创建 Maven 项目

  • 打开你喜欢的 IDE(如 IntelliJ IDEA 或 Eclipse),创建一个新的 Maven 项目。

  • pom.xml 文件中添加 Spring MVC 相关依赖。主要包括:

    • spring-webmvc
    • javax.servlet-api
    • 等其他必要的依赖。
    org.springframework
    spring-webmvc
    5.3.23
    javax.servlet
    javax.servlet-api
    3.1.0
  • 添加 Tomcat 或其他 Web 服务器的依赖(如果需要)。

  • 2. 配置 web.xml 或使用 Java 配置

    方法一:传统 web.xml 配置

  • 创建 WEB-INF/web.xml 文件。

  • 配置 DispatcherServlet,这是 Spring MVC 的核心组件,负责接收和分发 HTTP 请求。

    dispatcher
    org.springframework.web.servlet.DispatcherServlet
    contextConfigLocation
    /WEB-INF/spring-mvc.xml
    1
    dispatcher
    /
  • 方法二:Java 配置(Servlet 3.0+)

  • 创建一个实现 WebApplicationInitializer 接口的类,例如 WebInitializer

  • 在类中使用 AnnotationConfigWebApplicationContext 加载 Spring 配置类,并注册 DispatcherServlet

    import org.springframework.context.annotation.AnnotationConfigWebApplicationContext;
    import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
    public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class
    [] getRootConfigClasses() {
    return null;
    }
    @Override
    protected Class
    [] getServletConfigClasses() {
    return new Class
    [] { AppConfig.class };
    }
    @Override
    protected String[] getServletMappings() {
    return new String[] { "/" };
    }
    }
  • 3. 创建 Spring 配置文件

  • WEB-INF 目录下创建 spring-mvc.xml 文件。

  • 配置组件扫描,确保 Spring 能够找到你的控制器类。

  • 二、创建控制器

    1. 定义控制器类

  • 创建一个 Java 类,使用 @Controller 注解标记为 Spring MVC 控制器。

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    @Controller
    public class HelloController {
    @RequestMapping("/hello")
    public String sayHello() {
    return "hello";
    }
    }
  • 2. 处理请求参数

  • 使用 @RequestParam 注解接收请求参数。

    @RequestMapping("/add")
    public String addNumbers(@RequestParam("num1") int num1,
    @RequestParam("num2") int num2) {
    int result = num1 + num2;
    return "result";
    }
  • 使用路径变量。

    @RequestMapping("/user/{id}")
    public String getUserById(@PathVariable("id") int id) {
    return "user";
    }
  • 三、创建视图

    1. 选择视图技术

    Spring MVC 支持多种视图技术,如 JSP、Thymeleaf、FreeMarker 等。这里以 JSP 为例。

  • WEB-INF/views 目录下创建 hello.jsp 文件。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    Hello Page

    Hello, Spring MVC!

  • 2. 配置视图解析器

  • spring-mvc.xml 中配置 InternalResourceViewResolver。

  • 或者在 Java 配置类中配置视图解析器。

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.view.InternalResourceViewResolver;
    @Configuration
    public class AppConfig {
    @Bean
    public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    return resolver;
    }
    }
  • 四、运行和测试

    1. 部署应用程序

  • 将项目部署到 Web 服务器(如 Tomcat、Jetty 等)。
  • 在 IDE 中配置服务器,添加项目到服务器。
  • 2. 测试应用程序

  • 启动 Web 服务器。
  • 在浏览器中输入 URL(如 http://localhost:8080/your-application-context-root/hello),访问应用程序。

  • 通过以上步骤,你可以成功搭建一个 Spring MVC 的 Web 应用程序,并通过控制器和视图实现功能开发。

    转载地址:http://hdzdz.baihongyu.com/

    你可能感兴趣的文章
    mysql 断电数据损坏,无法启动
    查看>>
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>