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 + "]";
}
}