当前位置: 首页 > news >正文

jsp使用+返回or使用数据+日志输出

遇到的问题

jdk环境配置

  1. 环境配置的时候冲突了,最后发现f盘里java那个文件放的就是jdk
    注意要在环境变量里面配置jdk路径,同时在idea里面要在文件下面的文件结构中的jdk配置
  2. Invalidate Caches/Restart清理一下idea缓存。因为如果之前用过老版本的springboot开发,下次新建
    springboot项目,idea默认会缓存父依赖项信息,当引入本地仓库不存在的父依赖版本时,就会报错:找不到依赖申明。而引用本地仓库已存在的依赖版本并不会报错,因此才推断出是idea缓存的原夕清除缓存之后,重启,刷新pom.xml,发现自动下载新版本的springboot了,下载完成后不再爆红

文件名和路径

mapping作用如其名,始终是==./mapping内的值==
直接返回jsp页面时,映射的是return对应的文件
需要返回数据+页面时,映射的是mv.setViewName内对应的视图文件

一些需要理解的东西

JSP和html

协议上行加上
<%@page contentType=“text/html; UTF-8” pageEncoding=“UTF-8” %>
后缀名是.jsp

jsp动态加载,不用重跑项目

一般直接加了东西,在页面直接刷新就可以了,如果不行:

  1. 加依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>
  1. 配置
    在这里插入图片描述
    在这里插入图片描述

jdk直接返回内容到页面 完成过程

  1. 先创建一个空项目
  2. 空项目中创建springboot项目-选择java和maven以及域名为com.x-勾选springweb服务
  3. 创建完成之后在com.x下面创建模块
  4. 在模块中书写代码注意要@controller@RequestMapping(“/hello”)@ResponseBody
  5. 最后在入口文件中启动的项目
  6. 然后在本地服务器里访问localhost:端口号

jdk返回student类中的数据

@RequestMapping("/student")
    @ResponseBody
    public student students(){
        student stu = new student();
        stu.setAge(2);
        stu.setName("wanghua");
        stu.setScore(98);
        stu.setId(1111);
        return stu;
    }

import java.io.Serializable;可串行化接口? 在这里插入图片描述

import java.io.Serializable;

public class student implements Serializable {
    private int id;
    private String name;
    private int age;
    private int score;
    public student() {

    }
    public student(int id, String name, int age, int score) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.score = score;

    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {

    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
    public String toString() {
        return "id:" + id + ", name:" + name + ", age:" + age + ", score:" + score;
    }
}

jsp环境搭建与javaee

思维理解过程

  1. 只有两个注解而不写@ResponseBody时无法访问到返回的东西
  2. 此时static里放置静态页面是可以通过路径在页面访问的,但是Webapp无论是否jsp or html都不可以访问到
  3. 加上jsp的一个依赖
<dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    构建依赖完成后在application.properties文件下加上
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
package com.lsm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {

    @RequestMapping("/test")
    public String test01() {
        return "test01";
    }

}

就会和Controller下的TestController中的返回值(这个是自己写的文件)构建为一个访问路径 注意此时只用访问mapping的路径(而不是对应的文件.jsp)(但是由于前面的配置所以实际访问的是/return返回值.jsp这个文件)

  1. 配置工作目录请添加图片描述在这里插入图片描述

  2. 当能寻找到webapp目录下的jsp文件,那么webapp下的html文件也可以找到

使用jsp+传数据

package com.lsm.controller;

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

@Controller
public class TestController {

    @RequestMapping("/test")
    public ModelAndView test01(ModelAndView mv) {
        mv.addObject("msg", "传数据");
        mv.setViewName("test01");
        System.out.println("test01");
        return mv;
    }

}

视图名是jsp的文件名

日志输出

  1. 某个类的固定格式不想写,就用@Data会导入lombok
  2. @Slf4j就可以用了
  3. 日志也就可以用的了

相关文章:

  • 从0开始的操作系统手搓教程21:进程子系统的一个核心功能——简单的进程切换
  • 数据库监控工具——PMM
  • 宠物医疗对接DeepSeek详细方案
  • 【Linux】进程间通信 续
  • FormData获取表单,发现有些字段没有获取到,
  • 鸿蒙Android4个脚有脚线
  • Gitlab配置personal access token
  • 从零开发基于Qt6的TCP/UDP网络调试助手:技术架构与实现细节
  • (二 十 三)趣学设计模式 之 解释器模式!
  • C++第一节:类与对象
  • Spring Cloud Alibaba 实战:轻松实现 Nacos 服务发现与动态配置管理
  • 华为OD-E卷 - 最大矩阵和 100分(java)
  • 三参数水质在线分析仪:从源头保障饮用水安全
  • 《2025年软件测试工程师面试》消息队列面试题
  • CSharp和Java
  • 【ThreeJS Basics 06】Camera
  • C++进阶(七)--STL--bitset(位图)的介绍与基本功能模拟实现
  • PyCharm环境配置实战:从搭建到优化的完整指南
  • 观察者模式的C++实现示例
  • Qt:事件
  • 网站访客qq统计 原理/短视频营销策略
  • 单人给一个公司做网站费用/搜索引擎平台排名
  • 招工做的网站/域名注册优惠
  • 东莞凤岗疫情/seo公司哪家好用
  • 怎样自己免费搭建网站/新东方教育培训机构
  • 互动交流平台/兰州seo关键词优化