首页 > 其他分享 >Springmvc的学习

Springmvc的学习

时间:2023-10-30 22:31:48浏览次数:27  
标签:RequestMapping Springmvc 视图 学习 Controller jsp ModelAndView String

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的学习_mvc

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

Springmvc的学习_xml_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的学习_spring_05

利用浏览器访问

Springmvc的学习_spring_06

Springmvc的学习_spring_07

标签:RequestMapping,Springmvc,视图,学习,Controller,jsp,ModelAndView,String
From: https://blog.51cto.com/u_16220922/8097495

相关文章

  • 快速排序学习
    //#include<bits/stdc++.h>#include<iostream>usingnamespacestd;voidquick_sort(intq[],intl,intr){if(l>=r)return;intx=q[(l+r)/2];inti=l-1,j=r+1;while(i<j){doi++;while(q[i]<x);doj--;while(q[j]>......
  • mall学习笔记(7)
    1.使用mybatis插入失败了,开个log:application.ymllogging:level:com.example.demo.mbg.mapper:trace观察log,发现手动输入的json格式有问题,那没事了。2. @PathVariable映射URL绑定的占位符通过@PathVariable可以将URL中参数传到处理方法的中 小程序端:换......
  • linux的学习
    1.文件目录: 常用的命令1.pwd命令 pwd:printworkingdirectory,即显示当前所在目录 2、cd命令 cd:changedirectory,即切换/改变所在目录 '.’:代表此层目录;‘..’:代表上一层目录;‘-’:代表前一个工作目录;‘~’:代表“当前登陆用户身份”所在的主目录;3.创建一个新......
  • SpringMVC-快速返回逻辑视图
    今天完成了SpringMVC-快速返回逻辑视图,可以看作是springmvc一个非常基础的demo效果: 代码:index.jsp<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></head><body>......
  • 安卓平板,学习平板、三防工业平板Android主板定制方案
    近年来,平板设备在生活和工业领域应用不断增长。学习平板和工业intelligent设备的销量都处在高速发展阶段。预计到2024年,我国平板总出货量将继续增长。安卓平板采用高度集成设计,将多媒体解码、液晶驱动、USB接口、以太网、HDMI输出、TF卡插槽、WiFi、人体感应、串口、......
  • 学习笔记8
    第5章定时器及时钟服务1.个人计算机定时器定时器原理定时器是一种硬件或软件设备,用于在指定的时间间隔内产生时间戳或触发事件。在个人计算机中,定时器分为两类:实时定时器和普通定时器。实时定时器用于精确地控制实时任务,而普通定时器则用于一般性的事件控制。定时器驱动程序......
  • javaweb学习每日总结-第十天
    第十天学习今天我没有学习什么新的知识,而且回顾我之前所学习的一切的java知识,陷入了思考。一切都是因为今天王建民老师的考试,今天的考试,我取得了相对比较优异的成绩。考试一共一个小时,虽然结果还不错,但是我心里明白,我的技术还相当不熟练,一旦动起手来敲代码,我好像就迷失了方向,我想......
  • jupyter_机器学习基础
    学习打他frame和一些基础操作importpandasaspdimportnumpyasnppd.DataFrame(np.random.randn(2,3))score=np.random.randint(40,100,(10,5))scorescore_df=pd.DataFrame(score)score_dfsubjects=['语文','数学','英语','体育',&#......
  • [Vue学习]使用Vue-cli脚手架快速搭建项目
    安装vue-cli3npminstall-g@vue/cli验证vue版本vue--version 使用vuecreate项目名创建(需要cd进具体的目录)npmrundev(运行)npmrunbuild(编译)(也可以使用vue ui界面图形化方式进行创建) ==================================================可以直接使用下面方式创建项......
  • openGauss学习笔记-110 openGauss 数据库管理-管理用户及权限-Schema
    openGauss学习笔记-110openGauss数据库管理-管理用户及权限-SchemaSchema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。每个数据库包含一个或多个Schema。......