Springmvc的学习
  p8RyuvESu2pg 2023年11月02日 39 0

1.SpringMVC

1.1:基于MVC架构

1.2:容易理解,上手快,使用简单

1.3:方便与Spring整合

1.4:SpringMVC强化注解的使用,控制层(Controller)@Controller

2.第一个SpringMVC注解的程序的创建和使用

注解式开发:在代码中通过类与方法的注解,完成处理

2.1:创建项目,添加jar

2.2:配置注册中央控制器(中央调度器)DispatcherServlet

2.3:创建springmvc配合文件

2.4:创建Controller层

            创建方法

            视图解析器配置

    @Controller

    @RequestMapping("/MyControoler")

3.处理器方法的返回值

1.ModelAndView

2.String:处理器方法返回的字符串可以指定逻辑视图名

导入jar包

Springmvc的学习_spring

编写配置文件(点击Namespaces添加context、mvc)

Springmvc的学习_spring_02

springmvc.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:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

<!-- 声明组件扫描器 -->
<context:component-scan base-package="cn.lexed.controlle"></context:component-scan>
<mvc:annotation-driven/>
<!-- 配置视/图解析器 
     SpringMVC框架,为了避免请求资源路径与扩展名上的冗余,在
     视图解析器中,引入请求的前缀和后缀,我们只需要给出要跳转的文件名即可,
     对于具体的文件路径与文件扩展名,视图解析器会自动完成。
-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀: -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 后缀: -->
<property name="suffix" value=".jsp"></property>
</bean>

</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Springmvc-1</display-name>
  <!-- 配置注册中央控制器(中央调度器)DispatcherServlet 
       1.为什么要配置?
       因为DispatcherServlet在创建的过程中,会同时创建springmvc的容器对象
       读取springmvc的配置文件 
   -->
  <servlet>
  <servlet-name>myweb</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <!-- 读取springmvc的配置文件 -->
  <init-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:springmvc.xml</param-value>
  </init-param>
  <!-- web服务器启动时调用执行该Servlet的初始化方法,值必须是整数
       >0,容器启动时就加载,数值越小,优先级越高,创建的也就越早
   -->
  <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>myweb</servlet-name>
  <url-pattern>/</url-pattern>
  </servlet-mapping>
  
</web-app>

创建jsp文件夹编写show和show1

Springmvc的学习_xml_03

show.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎来到登录界面</h1>
</body>
</html>

show1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎来到登录界面</h1>
${k}
</body>
</html>

编写MyControoler

Springmvc的学习_mvc_04

MyControoler.java

package cn.lexed.controlle;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/* @Controller:表示这个类为处理器类
 * @RequestMapping("/mycon"):可以修饰在类上以及方法上
 *                           修饰在方法上,表示当前方法为处理器方法
 * 
 * */

@Controller
@RequestMapping("/MyControoler")
public class MyControoler {
	/* @RequestMapping:请求映射,作用:把一个请求地址和一个方法绑定在一起
	 *   value:首先是String,表示请求的uri地址,不能重复
	 *   
	 *   处理器方法的返回值:
	 *                ModelAndView:model-数据 view-视图
	 *                String:处理器方法返回的字符串可以指定逻辑视图名
	 *                       在通过视图解析器可以将其转成物理视图地址
	 *                void:axios
	 *                Object:
	 * */
	//只显示视图
	@RequestMapping(value="/dosome")
	public String doSome(){
		
		return "show";//逻辑视图名,视图解析器 转发
		// /WEB-INF/jsp/show.jsp
	}
	
	//视图,数据
	@RequestMapping(value="/dosome1")
	public String doSome1(HttpServletRequest request){
		request.setAttribute("k", "eeeeeeeeeeeeeeee");
		return "show1";
		// /WEB-INF/jsp/show1.jsp
	}
	
	/*@RequestMapping(value="/dosome")
	public ModelAndView doSome1(){
		ModelAndView m=new ModelAndView();
		m.setViewName("/show.jsp");
		return m;
	}*/
}

添加到服务器并启动服务器

Springmvc的学习_xml_05

利用浏览器访问

Springmvc的学习_spring_06

Springmvc的学习_xml_07

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
p8RyuvESu2pg
作者其他文章 更多