springmvc的入门案例

[复制链接]
发表于 2025-9-18 05:32:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
springmvc的概述


  •         SpringMVC的概述

    • 是一种基于Java实现的MVC设计模子的哀求驱动范例的轻量级WEB框架。
    • Spring MVC属于SpringFrameWork的后续产物,已经融合在Spring Web Flow内里。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
    • 利用 Spring 可插入的 MVC 架构,从而在利用Spring举行WEB开辟时,可以选择利用Spring的SpringMVC框架或集成其他MVC开辟框架,如Struts1(如今一样寻常不消),Struts2等。
           
  •         SpringMVC在三层架构中的位置

    • 体现层框架
           
  •         SpringMVC和Struts2框架的对比
springmvc的入门程序

创建WEB工程,引入开辟的jar包
具体的坐标如下
  1. <!-- 版本锁定 -->
  2.     <properties>
  3.         <spring.version>5.0.2.RELEASE</spring.version>
  4.     </properties>
  5.    
  6.     <dependencies>
  7.         <dependency>
  8.             <groupId>org.springframework</groupId>
  9.             <artifactId>spring-context</artifactId>
  10.             <version>${spring.version}</version>
  11.         </dependency>
  12.         <dependency>
  13.             <groupId>org.springframework</groupId>
  14.             <artifactId>spring-web</artifactId>
  15.             <version>${spring.version}</version>
  16.         </dependency>
  17.         <dependency>
  18.             <groupId>org.springframework</groupId>
  19.             <artifactId>spring-webmvc</artifactId>
  20.             <version>${spring.version}</version>
  21.         </dependency>
  22.         <dependency>
  23.             <groupId>javax.servlet</groupId>
  24.             <artifactId>servlet-api</artifactId>
  25.             <version>2.5</version>
  26.             <scope>provided</scope>
  27.         </dependency>
  28.         <dependency>
  29.             <groupId>javax.servlet.jsp</groupId>
  30.             <artifactId>jsp-api</artifactId>
  31.             <version>2.0</version>
  32.             <scope>provided</scope>
  33.         </dependency>
  34.     </dependencies>
复制代码
编写index.jsp页面
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>入门程序</title>
  5. </head>
  6. <body>
  7.     <%--超链接--%>
  8.     <h3>入门</h3>
  9.     <a href="/hello.do" >入门程序</a>
  10. </body>
  11. </html>
复制代码
编写suc.jsp页面,路径为/WEB-INF/pages/suc.jsp
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>成功</title>
  5. </head>
  6. <body>
  7.    
  8.     <h3>入门成功了2...</h3>
  9.    
  10. </body>
  11. </html>
复制代码
编写Controller类和方法
  1. package cn.tx.demo1;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. /**
  5. *  
  6. *
  7. * 控制器类,处理用户的请求
  8. */
  9. // 把当前类交给IOC容器进行管理
  10. @Controller
  11. public class HelloController {
  12.     /**
  13.      * 处理超链接发送出来的请求
  14.      * @return
  15.      */
  16.     // 配置映射的配置
  17.     @RequestMapping(path = "/hello.do")
  18.     public String sayHello(){
  19.         System.out.println("入门方法执行了2...");
  20.         // 跳转的JSP页面的路径,默认使用的是请求的转发
  21.         // return "/WEB-INF/pages/suc.jsp";
  22.         // 配置了视图解析器后,写法
  23.         return "suc";
  24.     }
  25. }
复制代码
设置核心的控制器(胚子DispatcherServlet)
在web.xml设置文件中核心控制器DispatcherServlet
  1. <!--配置前端控制器-->
  2.   <servlet>
  3.     <servlet-name>dispatcherServlet</servlet-name>
  4.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5.     <!--加载springmvc.xml配置文件,配置的是Spring配置-->
  6.     <init-param>
  7.       <param-name>contextConfigLocation</param-name>
  8.       <param-value>classpath:springmvc.xml</param-value>
  9.     </init-param>
  10.     <!--配置启动加载-->
  11.     <load-on-startup>1</load-on-startup>
  12.   </servlet>
  13.   <servlet-mapping>
  14.     <servlet-name>dispatcherServlet</servlet-name>
  15.     <url-pattern>*.do</url-pattern>
  16.   </servlet-mapping>
复制代码
编写springmvc.xml的设置文件
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.     xmlns:mvc="http://www.springframework.org/schema/mvc"
  4.     xmlns:context="http://www.springframework.org/schema/context"
  5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6.     xsi:schemaLocation="
  7.         http://www.springframework.org/schema/beans
  8.         http://www.springframework.org/schema/beans/spring-beans.xsd
  9.         http://www.springframework.org/schema/mvc
  10.         http://www.springframework.org/schema/mvc/spring-mvc.xsd
  11.         http://www.springframework.org/schema/context
  12.         http://www.springframework.org/schema/context/spring-context.xsd">
  13.         
  14.     <!-- 配置spring创建容器时要扫描的包 -->
  15.     <context:component-scan base-package="com.qcbyjy"></context:component-scan>
  16.      
  17.     <!-- 配置视图解析器 -->
  18.     <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  19.         <property name="prefix" value="/WEB-INF/pages/"></property>
  20.         <property name="suffix" value=".jsp"></property>
  21.     </bean>
  22.    
  23.     <!-- 配置spring开启注解mvc的支持
  24.     <mvc:annotation-driven></mvc:annotation-driven>-->
  25. </beans>
复制代码
启动tomcat服务器,举行测试
入门案例的实行过程分析

入门案例的实行流程
1.当启动Tomcat服务器的时间,由于设置了load-on-startup标签,以是会创建DispatcherServlet对象,就会加载springmvc.xml文件
2.开启了注解扫描,那么HelloController对象就会被创建
3.从index.jsp发送哀求,哀求会先到达DispatcherServlet核心控制器,根据设置@RequestMapping注解找到实行的具体方法
4.根据实行方法的返回值,再根据设置的视图剖析器,去指定的目次下查找指定名称的JSP文件
5.Tomcat服务器渲染页面,做出相应。
springmvc官方提供图形
入门案例中的组件分析
1.前端控制器(DispatcherServlet)
2.处理惩罚器映射器(HandlerMapping)
3.处理惩罚器(Handler)
4.处理惩罚器适配器(HandlerAdapter)
5.视图剖析器(View Resolver)
6.视图(View)
RequestMapping注解
RequestMapping注解的作用是创建哀求URL和处理惩罚方法之间的对应关系
RequestMapping注解可以作用在方法和类上
        1.作用在类上:第一级的访问目次
        2.作用在方法上:第二级的访问目次
        3.细节:路径可以不编写/表示应用的根目次开始
RequestMapping的属性
        1.path:指定哀求路径的url,必须写
        2.value:value属性和path属性一样,可以不写
        3.method:指定该方法的哀求方式
        4.params:指定限定哀求参数的条件
  1. package cn.tx.demo1;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RequestMethod;
  5. /**
  6. *  
  7. * 7
  8. * 角色模块的类
  9. */
  10. @Controller
  11. @RequestMapping(path = "/role")        // 一级请求路径
  12. public class RoleController {
  13.     /**
  14.      * /role/save.do
  15.      * method="当前方法允许请求方式能访问"
  16.      * params="请求路径上传参数"
  17.      * @return
  18.      */
  19.     @RequestMapping(path = "/save.do",method = {RequestMethod.GET},params = "username")
  20.     public String save(){
  21.         System.out.println("保存角色...");
  22.         return "suc";
  23.     }
  24.     @RequestMapping(value = "/delete.do")
  25.     public String delete(){
  26.         System.out.println("删除角色...");
  27.         return "suc";
  28.     }
  29. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表