五、编写Controller,要么实现Controller接口,要么增加注解;返回ModelAndView,装数据,封视图;
package com.study.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();//加群1025684353一起吹水聊天
//封装对象,放在ModelAndView中。Model
mv.addObject(“msg”,“HelloSpringMVC!”);
//封装要跳转的视图,放在ModelAndView中
mv.setViewName(“hello”); //: /WEB-INF/jsp/hello.jsp
return mv;
}
}
六、在springmvc-servlet.xml中注册bean
七、在web/WEB-INF/jsp目录下新建hello.jsp,用${msg}接收数据
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
${msg}
可能遇到的问题:访问出现404,排查步骤:
1. 查看控制台输出,看一下是不是缺少了什么jar包。
2. 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
3. 重启Tomcat 即可解决!
==================================================================================
junit
junit
4.12
org.springframework
spring-webmvc
5.1.9.RELEASE
//加群1025684353一起吹水聊天
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.2
javax.servlet
jstl
1.2
<?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/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package=“com.study.controller”/>
mvc:default-servlet-handler/
mvc:annotation-driven/
<bean class=“org.springframework.web.servlet.view.InternalResourceViewResolver”
id=“internalResourceViewResolver”>
四、在web/WEB-INF/jsp目录下新建hello.jsp,用${msg}接收数据
package com.study.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //Controller层
@RequestMapping(“/hello”)//真实访问路径是:localhost:8080/hello(可选)
public class HelloController {
//真实访问路径是:localhost:8080/hello/h1。假如类上没有@RequestMapping(“/hello”),那么真实访问路径是:localhost:8080/h1
@RequestMapping(“/h1”)
public String hello(Model model){//加群1025684353一起吹水聊天
//Model封装数据
model.addAttribute(“msg”,“Hello,SpringMVCAnnocation!”);
return “hello”; //会被视图解析器处理
}
@RequestMapping(“/h2”)
public String hello2(Model model){
//Model封装数据
model.addAttribute(“msg”,“Hello,SpringMVCAnnocation!”);
return “hello”; //会被视图解析器处理 web/WEB-INF/jsp/hello.jsp
}
}
-
@Controller是为了让Spring IOC容器初始化时自动扫描到;
-
@RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;
-
方法中声明Model类型的参数是为了把Action中的数据带到视图中;
-
方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp
总结
如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了
《Java中高级核心知识全面解析》
小米商场项目实战,别再担心面试没有实战项目:
ller/hello;**
-
方法中声明Model类型的参数是为了把Action中的数据带到视图中;
-
方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp
总结
如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了
《Java中高级核心知识全面解析》
[外链图片转存中…(img-xTk1TgLV-1714642849852)]
小米商场项目实战,别再担心面试没有实战项目:
[外链图片转存中…(img-YdJruS48-1714642849853)]