后端开发基础-SpringMVC框架学习-006——基础概念

contextConfigLocation

classpath:app.xml

1

springmvc

*.do

app.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:jdbc=“http://www.springframework.org/schema/jdbc”

xmlns:jee=“http://www.springframework.org/schema/jee”

xmlns:tx=“http://www.springframework.org/schema/tx”

xmlns:aop=“http://www.springframework.org/schema/aop”

xmlns:mvc=“http://www.springframework.org/schema/mvc”

xmlns:util=“http://www.springframework.org/schema/util”

xmlns:jpa=“http://www.springframework.org/schema/data/jpa”

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd

http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd

http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd

http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd

http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">

<context:component-scan base-package=“controller”/>

mvc:annotation-driven/

HelloController.java

package controller;

import java.io.UnsupportedEncodingException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.view.RedirectView;

/**

  • 用注解的方式来开发Controller

  • 1.不用实现Controller接口。

  • 2.可以添加多个处理方法。

  • 3.处理方法要求:

  • a.方法名不做要求。

  • b.返回值可以是ModelAndView,可以是

  • String,也可以是void。
    
  • 4.使用到的注解:

  • @Controller:要加在类前面。

  • @RequestMapping:可以加到类前面,也可以

  • 添加到处理方法前面。用来设置请求路径与

  • 处理方法的对应关系。

  • @author Cher_du

*/

@Controller

public class HelloController {

@RequestMapping(“/hello.do”)

public ModelAndView toHello(){

System.out.println(“HelloController的”+

“toHello方法…”);

return new ModelAndView(“hello”);

}

/*

  • 处理方法的返回值可以是ModelAndView,

  • 也可以是String。区别:

  • 如果返回的既有数据,也有视图名,可以

  • 使用ModelAndView。如果返回值只有视图名,

  • 可以直接返回String。

*/

@RequestMapping(“/toLogin.do”)

public String toLogin(){

System.out.println(“HelloController的”+

“toLogin方法…”);

return “login”;

}

@RequestMapping(“/login.do”)

public String checkLogin(HttpServletRequest request) throws UnsupportedEncodingException{

System.out.println(“HelloController的”+

“checkLogin方法”);

request.setCharacterEncoding(“utf-8”);

String username = request.getParameter(“username”);

String pwd = request.getParameter(“pwd”);

System.out.println(“username:”+username+" pwd:"+pwd);

//默认情况下,前端控制器会转发

//到某个jsp页面。

return “success”;

}

@RequestMapping(“/login2.do”)

/*

*获得请求参数值的第二种方式:

*处理方法的入参与请求参数名一致。

*注:

  • 如果不一致,可以使用

  • @RequestParam(请求参数名)

*/

public String checkLogin2(String username,@RequestParam(“pwd”)String password){

System.out.println(“HelloController的”+

“checkLogin2方法…”);

System.out.println(“username:”+username+" pwd:"+password);

return “success”;

}

@RequestMapping(“/login3.do”)

/*

  • 读取请求参数的第三种方式:

  • step1.先写一个java类,该类要添加

  • 与请求参数名一致的属性,并且为这些

  • 属性添加相应的get/set方法。

  • step2.将这个类作为处理方法的入参。

*/

public String checkLogin3(User user){

System.out.println(“HelloController的”+

“checkLogin3方法…”);

System.out.println(“username:”+user.getUsername()+" pwd:"+user.getPwd());

return “success”;

}

//====================================================================//

/*

  • 使用ModelAndView向页面传值

*/

@RequestMapping(“/login4.do”)

public ModelAndView checkLogin4(User user){

System.out.println(“HelloController的”+

“checkLogin4方法…”);

System.out.println(“username:”+user.getUsername()+" pwd:"+user.getPwd());

//要将处理结果封装成一个Map对象。

Map<String,Object> data = new HashMap<String,Object>();

//相当于执行了request.setAttribute

data.put(“user”, user);

ModelAndView mav = new ModelAndView(“success”,data);

return mav;

}

/*

*使用request对象向页面传值。

*/

@RequestMapping(“/login5.do”)

public String checkLogin5(User user,

HttpServletRequest request) throws UnsupportedEncodingException{

System.out.println(“HelloController的”+

“checkLogin5方法…”);

request.setCharacterEncoding(“utf-8”);

request.setAttribute(“user”, user);

return “success”;

}

@RequestMapping(“/login6.do”)

/*

  • 使用ModelMap对象来向页面传值。

*/

public String checkLogin6(User user,ModelMap data){

System.out.println(“HelloController的”+

“checkLogin6方法…”);

//相当于request.setAttribute

data.addAttribute(“user”,user);

return “success”;

}

@RequestMapping(“/login7.do”)

/*

  • 使用session向页面传值

*/

public String checkLogin7(User user,

HttpSession session){

System.out.println(“HelloController的”+

“checkLogin7方法…”);

session.setAttribute(“user”, user);

return “success”;

}

//==================================================//

@RequestMapping(“/login8.do”)

/*

  • 演示如何重定向。

  • 如果处理方法的返回值是String,

  • 只需要将"redirect:"作为返回值的前缀。

*/

public String checkLogin8(User user){

System.out.println(“HelloController的”+

“checkLogin8方法…”);

return “redirect:toSuccess.do”;

}

@RequestMapping(“/login9.do”)

/*

  • 演示重定向。

  • 返回值是ModelAndView。

*/

public ModelAndView checkLogin9(){

System.out.println(“HelloController的”+

“checkLogin9方法…”);

RedirectView rv = new RedirectView(“toSuccess.do”);

return new ModelAndView(rv);

}

@RequestMapping(“/toSuccess.do”)

public String toSuccess(){

System.out.println(“…toSuccess…”);

return “success”;

}

}

User.java

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

在这里插入图片描述

在这里插入图片描述

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

[外链图片转存中…(img-lAfKSJ14-1712879075800)]

[外链图片转存中…(img-cmbjuacY-1712879075800)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值