springmvc配置后续测试和上传文件

springmvc配置后续测试

Controller本地服务器上传文件和插件服务器上传文件
json从前台获取数据,向前台发送数据

package com.stx.controller;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import com.stx.pojo.User;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
@Controller
@RequestMapping("/user")
//@ResponseBody
//@RestController 是 @Controller和@ResponseBody的结合
public class UserController {
	/**测试异常**/
	@RequestMapping("/login1")
	public String login1(HttpSession session) {
		System.out.println("login1-----------");
		int num = 1/0;
		session.setAttribute("username", "baoyu");
		return "ok";
	}
	/**测试拦截器**/
	@RequestMapping("/login")
	public String login(HttpSession session) {
		System.out.println("login-----------跳转到testInter01");
		session.setAttribute("username", "baoyu");
		return "redirect:/user/testInter01";
	}

	@RequestMapping("/testInter01")
	public String testInter01() {
		System.out.println("testInter01---------");
		return "ok";
	}
	
	/****************上传文件****************/
	/**插件服务器上传文件**/
	@RequestMapping("/upload1")
	public String upload1(MultipartFile myFile,HttpServletRequest request) {
		//获取上传文件的原始名称
		String fileName=myFile.getOriginalFilename();
		//截取上传文件的后缀
		int index = fileName.lastIndexOf(".");
		String hz = fileName.substring(index);
		//获取上传文件的目标的路径
		String path = request.getServletContext().getRealPath("/upload");
		path="http://localhost:8080/imgServer/upload/";
		System.out.println(path);
		//随机字符
		String name=UUID.randomUUID().toString().replace("-", "")+hz;
		
		try {
			Client client = Client.create();
			WebResource resource = client.resource(path+name);
			String res = resource.put(String.class,myFile.getBytes());
			System.out.println(res);
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		/*try {
			myFile.transferTo(new File(path+"/"+name));
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}*/
		return "ok";
	}
	
	/**本地服务器上传文件**/
	@RequestMapping("/upload")
	public String upload(MultipartFile myFile,HttpServletRequest request) {
		//获取上传文件的原始名称
		String fileName=myFile.getOriginalFilename();
		//截取上传文件的后缀
		int index = fileName.lastIndexOf(".");
		String hz = fileName.substring(index);
		//获取上传文件的目标的路径
		String path = request.getServletContext().getRealPath("/upload");
		System.out.println(path);
		//随机字符
		String name=UUID.randomUUID().toString().replace("-", "")+hz;
		try {
			//上传文件到指定路径
			myFile.transferTo(new File(path+"/"+name));
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return "ok";
	}
	/****************************ajax从页面接收值***************************************/
	//@ResponseBody向页面传值	 	@RequestBody从页面获取值
	@RequestMapping("/ajax01")
	@ResponseBody
	public String ajaxTest01(@RequestBody User user) {
		System.out.println(user);
		return "ok";
	}
	/****************************json向页面传值***************************************/
	/**
	 * json向页面传输Map
	 */
	@RequestMapping("/json04")
	@ResponseBody
	public Map<String, User> jsonTest04(){
		Map<String, User> map = new HashMap<String, User>();
		for (int i = 0; i < 5; i++) {
			User u = new User();
			u.setId(1+i);
			u.setUsername("baoyu"+i);
			u.setBirthday(new Date());
			map.put("u"+i, u);
		}
		return map;
	}
	/**
	 * json向页面传输List
	 */
	@RequestMapping("/json03")
	@ResponseBody
	public List<User> jsonTest03(){
		List<User> list = new ArrayList<>();
		for (int i = 0; i < 5; i++) {
			User user = new User();
			user.setId(1+i);
			user.setUsername("baoyu"+i);
			user.setBirthday(new Date());
			list.add(user);
		}
		return list;
	}
	/**
	 * json向页面传输对象
	 */
	@RequestMapping("/json02")
	@ResponseBody
	public User jsonTest02() {
		User user = new User();
		user.setId(1);
		user.setUsername("baoyu");
		return user;
	}
	/**
	 * json向页面传输字符串
	 */
	@RequestMapping("/json01")
	@ResponseBody
	public String jsonTest01() {
		return "hello world";
	}
	/*******************************************************************/
	@RequestMapping("/test07")
	public String test07(Model model) {
		System.out.println("test07-----Model");
		model.addAttribute("username", "1");
		model.addAttribute("age", 14);
		return "redirect:/user/test7";
	}
	@RequestMapping("/test7")
	public String test7(String username,Integer age) {
		System.out.println("test7----");
		System.out.println(username);
		System.out.println(age);
		return "ok";
	}
	
	
	
	@RequestMapping("/test06")
	public String test06() {
		System.out.println("test06-----重定向");
		return "redirect:/user/test05";
	}
	
	@RequestMapping("/test05")
	public String test05() {
		System.out.println("test05-----转发");
		return "forward:/user/test04";
	}
	
	/*ModelAndView向界面发送数据*/
	
	@RequestMapping("/test04")
	public ModelAndView test04() {
		System.out.println("test04------------------");
		ModelAndView mv = new ModelAndView();
		User u = new User();
		u.setId(10);
		u.setUsername("baoyu");
		mv.addObject("user", u);
		mv.setViewName("ok");
		return mv;
	}
	@RequestMapping("/test03")
	public String test03(Model model) {
		User u = new User();
		u.setId(1);
		u.setUsername("ab");
		model.addAttribute("user", u);
		return "ok";
	}
	
	@RequestMapping("/test02")
	public String test02(HttpServletRequest request) {
		System.out.println("test2---------------------");
		User u = new User();
		u.setId(1);
		u.setUsername("aa");
		request.setAttribute("user", u);
		User u1 = new User();
		u1.setId(2);
		u1.setUsername("baoyu1");
		HttpSession session = request.getSession();
		session.setAttribute("user", u1);
		User u2 = new User();
		u2.setId(3);
		u2.setUsername("baoyu2");
		ServletContext application = request.getServletContext();
		application.setAttribute("user", u2);
		return "ok";
	}
	
	@RequestMapping("/test01")
	public String test01() {
		
		return "ok";
	}
}

pojo类

role类

package com.stx.pojo;

public class Role {
private Integer roleId;
private String roleName;
public Integer getRoleId() {
	return roleId;
}
public void setRoleId(Integer roleId) {
	this.roleId = roleId;
}
public String getRoleName() {
	return roleName;
}
public void setRoleName(String roleName) {
	this.roleName = roleName;
}

}

user类

package com.stx.pojo;

import java.util.Date;
import java.util.List;
import java.util.Map;


import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

public class User {
private Integer id;
private String username;
private String password;

//向页面传日期时转换为yyyy-MM-dd
@JsonFormat(pattern="yyyy-MM-dd")
//接收页面的值时转为yyyy-MM-dd
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birthday;
private Role myRole;
private List<Role> roles;
private Map<String,Role> map;
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getUsername() {
	return username;
}
public void setUsername(String username) {
	this.username = username;
}
public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
public Date getBirthday() {
	return birthday;
}
public void setBirthday(Date birthday) {
	this.birthday = birthday;
}
public Role getMyRole() {
	return myRole;
}
public void setMyRole(Role myRole) {
	this.myRole = myRole;
}
public List<Role> getRoles() {
	return roles;
}
public void setRoles(List<Role> roles) {
	this.roles = roles;
}
public Map<String, Role> getMap() {
	return map;
}
public void setMap(Map<String, Role> map) {
	this.map = map;
}
@Override
public String toString() {
	return "User [id=" + id + ", username=" + username + ", password=" + password + ", birthday=" + birthday
			+ ", myRole=" + myRole + ", roles=" + roles + ", map=" + map + "]";
}

}

【基于QT的调色板】是一个使用Qt框架开发的色彩选择工具,类似于Windows操作系统中常见的颜色选取器。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动嵌入式设备,支持C++QML语言。这个调色板功能提供了横竖两种渐变模式,用户可以方便地选取所需的颜色值。 在Qt中,调色板(QPalette)是一个关键的类,用于管理应用程序的视觉样式。QPalette包含了一系列的颜色角色,如背景色、前景色、文本色、高亮色等,这些颜色可以根据用户的系统设置或应用程序的需求进行定制。通过自定义QPalette,开发者可以创建具有独特视觉风格的应用程序。 该调色板功能可能使用了QColorDialog,这是一个标准的Qt对话框,允许用户选择颜色。QColorDialog提供了一种简单的方式来获取用户的颜色选择,通常包括一个调色板界面,用户可以通过滑动或点击来选择RGB、HSV或其他色彩模型中的颜色。 横渐变取色可能通过QGradient实现,QGradient允许开发者创建线性或径向的色彩渐变。线性渐变(QLinearGradient)沿直线从一个点到另一个点过渡颜色,而径向渐变(QRadialGradient)则以圆心为中心向外扩散颜色。在调色板中,用户可能可以通过滑动条或鼠标拖动来改变渐变的位置,从而选取不同位置的颜色。 竖渐变取色则可能是通过调整QGradient的方向来实现的,将原本水平的渐变方向改为垂直。这种设计可以提供另一种方式来探索颜色空间,使得选取颜色更为直观便捷。 在【colorpanelhsb】这个文件名中,我们可以推测这是与HSB(色相、饱度、亮度)色彩模型相关的代码或资源。HSB模型是另一种常见且直观的颜色表示方式,与RGB或CMYK模型不同,它以人的感知为基础,更容易理解。在这个调色板中,用户可能可以通过调整H、S、B三个参数来选取所需的颜色。 基于QT的调色板是一个利用Qt框架其提供的色彩管理工具,如QPalette、QColorDialog、QGradient等,构建的交互式颜色选择组件。它不仅提供了横竖渐变的色彩选取方式,还可能支持HSB色彩模型,使得用户在开发图形用户界面时能更加灵活精准地控制色彩。
标题基于Spring Boot的二手物品交易网站系统研究AI更换标题第1章引言阐述基于Spring Boot开发二手物品交易网站的研究背景、意义、现状及本文方法与创新点。1.1研究背景与意义介绍二手物品交易的市场需求Spring Boot技术的适用性。1.2国内外研究现状概述当前二手物品交易网站的发展现状趋势。1.3论文方法与创新点说明本文采用的研究方法在系统设计中的创新之处。第2章相关理论与技术介绍开发二手物品交易网站所涉及的相关理论关键技术。2.1Spring Boot框架解释Spring Boot的核心概念主要特性。2.2数据库技术讨论适用的数据库技术及其在系统中的角色。2.3前端技术阐述与后端配合的前端技术及其在系统中的应用。第3章系统需求分析详细分析二手物品交易网站系统的功能需求性能需求。3.1功能需求列举系统应实现的主要功能模块。3.2性能需求明确系统应满足的性能指标安全性要求。第4章系统设计与实现具体描述基于Spring Boot的二手物品交易网站系统的设计实现过程。4.1系统架构设计给出系统的整体架构设计各模块间的交互方式。4.2数据库设计详细阐述数据库的结构设计数据操作流程。4.3界面设计与实现介绍系统的界面设计用户交互的实现细节。第5章系统测试与优化说明对系统进行测试的方法性能优化的措施。5.1测试方法与步骤测试环境的搭建、测试数据的准备及测试流程。5.2测试结果分析对测试结果进行详细分析,验证系统是否满足需求。5.3性能优化措施提出针对系统性能瓶颈的优化建议实施方案。第6章结论与展望总结研究成果,并展望未来可能的研究方向改进空间。6.1研究结论概括本文基于Spring Boot开发二手物品交易网站的主要发现成果。6.2展望与改进讨论未来可能的系统改进方向新的功能拓展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值