马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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包
具体的坐标如下- <!-- 版本锁定 -->
- <properties>
- <spring.version>5.0.2.RELEASE</spring.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-web</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>javax.servlet.jsp</groupId>
- <artifactId>jsp-api</artifactId>
- <version>2.0</version>
- <scope>provided</scope>
- </dependency>
- </dependencies>
复制代码 编写index.jsp页面-
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>入门程序</title>
- </head>
- <body>
-
- <%--超链接--%>
-
- <h3>入门</h3>
-
- <a href="/hello.do" >入门程序</a>
-
- </body>
- </html>
复制代码 编写suc.jsp页面,路径为/WEB-INF/pages/suc.jsp-
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>成功</title>
- </head>
- <body>
-
- <h3>入门成功了2...</h3>
-
- </body>
- </html>
复制代码 编写Controller类和方法-
- package cn.tx.demo1;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- /**
- *
- *
- * 控制器类,处理用户的请求
- */
- // 把当前类交给IOC容器进行管理
- @Controller
- public class HelloController {
-
- /**
- * 处理超链接发送出来的请求
- * @return
- */
- // 配置映射的配置
- @RequestMapping(path = "/hello.do")
- public String sayHello(){
-
- System.out.println("入门方法执行了2...");
-
- // 跳转的JSP页面的路径,默认使用的是请求的转发
- // return "/WEB-INF/pages/suc.jsp";
-
- // 配置了视图解析器后,写法
- return "suc";
- }
-
- }
-
复制代码 设置核心的控制器(胚子DispatcherServlet)
在web.xml设置文件中核心控制器DispatcherServlet- <!--配置前端控制器-->
- <servlet>
- <servlet-name>dispatcherServlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <!--加载springmvc.xml配置文件,配置的是Spring配置-->
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath:springmvc.xml</param-value>
- </init-param>
- <!--配置启动加载-->
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>dispatcherServlet</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
-
复制代码 编写springmvc.xml的设置文件- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd">
-
- <!-- 配置spring创建容器时要扫描的包 -->
- <context:component-scan base-package="com.qcbyjy"></context:component-scan>
-
- <!-- 配置视图解析器 -->
- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/pages/"></property>
- <property name="suffix" value=".jsp"></property>
- </bean>
-
- <!-- 配置spring开启注解mvc的支持
- <mvc:annotation-driven></mvc:annotation-driven>-->
- </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:指定限定哀求参数的条件-
- package cn.tx.demo1;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
-
- /**
- *
- * 7
- * 角色模块的类
- */
- @Controller
- @RequestMapping(path = "/role") // 一级请求路径
- public class RoleController {
-
- /**
- * /role/save.do
- * method="当前方法允许请求方式能访问"
- * params="请求路径上传参数"
- * @return
- */
- @RequestMapping(path = "/save.do",method = {RequestMethod.GET},params = "username")
- public String save(){
- System.out.println("保存角色...");
- return "suc";
- }
-
- @RequestMapping(value = "/delete.do")
- public String delete(){
- System.out.println("删除角色...");
- return "suc";
- }
-
- }
-
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |