依旧是这样一个文件结构,然后HouseInfo和House,HouseView中的代码不变
HouseViewController中新增一些代码:
package com.yiju.controller;
import com.github.pagehelper.PageInfo;
import com.yiju.bean.House;
import com.yiju.bean.HouseInfo;
import com.yiju.pojo.HouseView;
import com.yiju.service.IHouseViewService;
import com.yiju.util.YijuUtil;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Controller
@RequestMapping("house")
public class HouseViewController {
@Autowired
private IHouseViewService houseViewService;
@RequestMapping("findFourHouse.do")
public ModelAndView findFourHouse(){
ModelAndView mv=new ModelAndView();
List<HouseView> newHouses = houseViewService.findFourHouseByType(0);
List<HouseView> oldHouse = houseViewService.findFourHouseByType(1);
List<HouseView> rentHouses =houseViewService.findFourHouseByType(2);
mv.addObject("newHouses",newHouses);
mv.addObject("oldHouse",oldHouse);
mv.addObject("rentHouses",rentHouses);
mv.setViewName("../main");
return mv;
}
@RequestMapping("findHouseById.do")
public ModelAndView findHouseById(int houseId){
HouseView house = houseViewService.findHouseByHouseId(houseId);
ModelAndView mv=new ModelAndView();
mv.addObject("houseInfo",house);
mv.setViewName("details");
return mv;
}
@RequestMapping("findHouse.do")
public ModelAndView findHouse(@RequestParam(defaultValue = "1") int currentPage, int houseType){
ModelAndView mv=new ModelAndView();
List<HouseView> houses = houseViewService.findHouseByType(currentPage,houseType);
List<HouseView> fh = houseViewService.findFourHouseByType(houseType);
PageInfo<HouseView> pageInfo=new PageInfo<>(houses);
mv.addObject("pageInfo",pageInfo);
mv.addObject("fh",fh);
if(houseType==0){
mv.setViewName("newhouse");
}else if(houseType==1){
mv.setViewName("oldhouse");
}else {
mv.setViewName("renthouse");
}
return mv;
}
@RequestMapping("toHousePost2.do")
public ModelAndView toHousePost2(@Param(value = "houseTitle") String houseTitle,
@Param(value = "houseAddress") String houseAddress,
@Param(value = "housePrice") BigDecimal housePrice,
@Param(value = "priceUnit") String priceUnit,
@Param(value = "houseHeadimg") MultipartFile houseHeadimg,
@Param(value = "housePlanimg1") MultipartFile housePlanimg1,
@Param(value = "housePlanimg2") MultipartFile housePlanimg2,
@Param(value = "houseImg1") MultipartFile houseImg1,
@Param(value = "houseImg2") MultipartFile houseImg2,
@Param(value = "houseImg3") MultipartFile houseImg3,
@Param(value = "houseImg4") MultipartFile houseImg4,
@Param(value = "houseImg5") MultipartFile houseImg5,
@Param(value = "houseImg6") MultipartFile houseImg6) throws IOException {
House house=new House();
house.setHouseTitle(houseTitle);
house.setHouseAddress(houseAddress);
house.setHousePrice(housePrice);
house.setPriceUnit(priceUnit);
house.setUserId(10005);
Map<String, MultipartFile> images=new HashMap<>();
if (houseHeadimg.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseHeadimg);
}
if (housePlanimg1.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,housePlanimg1);
}
if (housePlanimg2.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,housePlanimg2);
}
if (houseImg1.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg1);
}
if (houseImg2.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg2);
}
if (houseImg3.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg3);
}
if (houseImg4.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg4);
}
if (houseImg5.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg5);
}
if (houseImg6.getSize()!=0){
String picName = YijuUtil.getPicName();
house.setHouseHeadimg(picName);
images.put(picName,houseImg6);
}
Set<String> keys = images.keySet();
for(String key:keys){
MultipartFile file = images.get(key);
YijuUtil.upload(file.getBytes(),key);
}
houseViewService.postHouse(house);
ModelAndView mv=new ModelAndView();
mv.setViewName("housePost2");
return null;
}
@RequestMapping("responsePost2.do")
@ResponseBody
public String responsePost2(HouseInfo houseInfo){
houseInfo.setHouseId(10001);
houseViewService.postHouseInfo(houseInfo);
return new JSONObject().toString();
}
}
新建一个名为UserController的Java文件:
package com.yiju.controller;
import net.sf.json.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("user")
public class UserController {
@RequestMapping("login.do")
@ResponseBody
public String login(@Param(value = "username") String username,
@Param(value = " password") String password){
if("123".equals(username)&&"123".equals(password)){
return "success";
}
return "failure";
}
@RequestMapping("login1.do")
@ResponseBody
public String login1(@Param(value = "username") String username,
@Param(value = " password") String password){
JSONObject jsonObject=new JSONObject();
if("123".equals(username)&&"123".equals(password)){
jsonObject.put("result","1");
//return "success";
}else{
jsonObject.put("result","2");
}
return jsonObject.toString();
}
}
IHouseViewDao中新增两行代码
IHouseViewService新增代码:
HouseViewService中新增:
新建util包并在下面创建YijuUtil:
package com.yiju.util;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
public class YijuUtil {
public static String getPicName(){
SimpleDateFormat sf=new SimpleDateFormat("yyyyMMdd");
String picName=sf.format(new Date())+ UUID.randomUUID().toString();
return picName;
}
public static void upload(byte[] file, String upload){
final String AK="V86-ao-ntbpWZrtv7QF4YQ-8CM6sA_TSx1qB8Gyc";
final String SK="4C2-dUzRqQJ7-LEKR7ON4ey5GKVZw83QyGf4gWQE";
final String BUCKET="hualili1021";
Configuration cfg=new Configuration(Zone.zone1()) ;
UploadManager uploadManager=new UploadManager(cfg);
Auth auth=Auth.create(AK,SK);
String uptake = auth.uploadToken(BUCKET);
try {
Response response = uploadManager.put(file, upload, uptake);
System.out.println(response);
} catch (QiniuException e) {
e.printStackTrace();
}
}
}
HouseMapper.xml文件下新增:
webapp下新导入housePost1.jsp,housePost2.jsp和housePost3.jsp
WEB-INF下新建login.jsp,login1.jsp