Java 如何使用Spring4REST控制器为Jsp视图服务?

Java 如何使用Spring4REST控制器为Jsp视图服务?,java,spring,jsp,rest,spring-mvc,Java,Spring,Jsp,Rest,Spring Mvc,我已经为构建rest服务创建了Spring4项目。所以我已经创建了50多个rest服务,现在需要为同样的服务创建web应用程序。所以我想重用同一个控制器,这样我只需要编写视图(JSP)代码 同样的,我在谷歌上搜索并找到了,但这给了我一个错误。我的项目结构如下 那么我需要在servlet-context.xml中的何处编写此配置?实现目标的最佳方式是什么?如何实现 主要是我只需要Json和html的输出。因此,我的http请求的扩展名是.json和.jsp 下面是我的一个控制器的代码。下面是我创

我已经为构建rest服务创建了Spring4项目。所以我已经创建了50多个rest服务,现在需要为同样的服务创建web应用程序。所以我想重用同一个控制器,这样我只需要编写视图(JSP)代码

同样的,我在谷歌上搜索并找到了,但这给了我一个错误。我的项目结构如下

那么我需要在servlet-context.xml中的何处编写此配置?实现目标的最佳方式是什么?如何实现

主要是我只需要Json和html的输出。因此,我的http请求的扩展名是.json和.jsp

下面是我的一个控制器的代码。下面是我创建Rest服务的方法,现在我希望使用相同的方法为JSP页面创建服务器

    package com.alumini.spring.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.alumini.spring.DAO.CourseDAO;
import com.alumini.spring.model.Alumini;
import com.alumini.spring.model.Course;

@RestController
public class CourseController {

    @Autowired
    private CourseDAO courseDao;

    @RequestMapping(value = "/getCourseList")
    public List<Course> getCourseList(@RequestParam("email") String email,@RequestParam("password") String password) {
        List<Course> listCourse = courseDao.list();
        List<Course> finalList= new ArrayList<Course>();
        for(Course course: listCourse) {
            finalList.add(course);          
        }
        return finalList;
    }

}
包com.alumoni.spring.controller;
导入java.util.ArrayList;
导入java.util.List;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestParam;
导入org.springframework.web.bind.annotation.RestController;
进口com.alumini.spring.DAO.CourseDAO;
导入com.alumini.spring.model.alumini;
导入com.alumini.spring.model.Course;
@RestController
公共类课程控制器{
@自动连线
私人球场;
@请求映射(value=“/getCourseList”)
公共列表getCourseList(@RequestParam(“电子邮件”)字符串电子邮件,@RequestParam(“密码”)字符串密码){
List listCourse=courseDao.List();
List finalList=new ArrayList();
对于(课程:列表课程){
添加(课程);
}
回归终结者;
}
}
如果你们中有人之前做过,请帮帮我?

package com.apmc.rest;
导入java.text.simpleDataFormat;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入org.codehaus.jackson.map.ObjectMapper;
导入org.hibernate.SessionFactory;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.web.bind.annotation.RequestBody;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
导入org.springframework.web.bind.annotation.ResponseBody;
导入org.springframework.web.bind.annotation.RestController;
导入com.apmc.Generic.CommonMethods;
导入com.apmc.domain.Auction;
导入com.apmc.domain.Commodity;
导入com.apmc.jsonObjectMaker.GetEntryDetails;
导入com.apmc.services.AuctionService;
导入com.apmc.services.CommodityService;
@RestController
@请求映射(“拍卖”)
公共类重启控制器{
拍卖清单;
字符串successsg=“”;
字符串errorMsg=“”;
清单1.2.2.2.2.3;
私人列表显示详细信息;
JSONObject msg;
@自动连线
拍卖服务拍卖服务;
@自动连线
商品服务商品服务;
@RequestMapping(value=“/commoditySelect”,method=RequestMethod.GET,headers=“Accept=application/json”)
公共字符串commSelect(){
ListOfcom=新的ArrayList();
试一试{
listofcom=commodityService.loadAll();
SessionFactory commSessionFactory=commodityService.getThisSessionFactory();
Map Map=newhashmap();
map.put(“comm_id”、“getComm_id”);
map.put(“comm_name”、“getComm_name”);
JSONObject comm_json_Obj=CommonMethods.getJSONFromList(Commodity.class,listofcom,commSessionFactory,“commodies”,map);
返回comm_json_Obj.toString();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
返回null;
}
}
@RequestMapping(value=“/auctionByEntryGatePass”,method=RequestMethod.POST,products=“application/json”,consumes=“application/json”)
public@ResponseBody字符串检查\u egp(@RequestBody String json)
{
试一试{
show_egp_for_auction=new ArrayList();
JSONObject egp_no_json=新的JSONObject(json);
字符串egp_no=(String)egp_no_json.get(“egp_no”);
Long comm_id=Long.parseLong(egp_no_json.get(“comm_id”).toString());
String comm_name=(String)egp_no_json.get(“comm_name”);
如果(egp_no.isEmpty()){
successsg=“”;
errorMsg=“数据剩余或错误。”;
msg=新的JSONObject();
msg.put(“errorMsg”,errorMsg);
msg.put(“egp_无错误”,“请输入入口通行证号”);
返回msg.toString();
}
show_egp_for_auction=auctionService.egp_info_for_auction(egp_编号,通信id);
successsg=“”;
errorMsg=“”;
如果(显示用于拍卖的egp.size()=0){
errorMsg=“这不是有效的入口通行证,或者此入口通行证没有此商品。”;
}else if(show_egp_for_auction.get(0)[7]!=null){
errorMsg=“该商品已被拍卖。”;
}else if(显示用于拍卖的egp.size()>1){
errorMsg=“新建tolmapEntrybyEntryGatePass错误\n请与管理员联系并输入错误代码:”;
}否则{
errorMsg=“”;
successsg=“成功”;
}
msg=新的JSONObject();
msg.put(“successsg”,successsg);
msg.put(“errorMsg”,errorMsg);
if(errorMsg.isEmpty()){
GetEntryDetails GetEntryDetailsFrauc=新的GetEntryDetails(通信名称,
显示\u拍卖的\u egp\u。获取(0)[0]。toString(),
显示\u拍卖的\u egp\u。获取(0)[5]。toString(),
显示\u拍卖的\u egp\u。获取(0)[4]。toString(),
显示\u拍卖的\u egp\u。获取(0)[2]。toString(),
显示用于拍卖的egp。获取(0)[3]。toString();
//返回新的ResponseEntity(HttpStatus.CREATED);
JSONArray egp_details=新JSONArray();
egp_详细信息。put(味精);
egp_details.put(getEntryDetailsFrauc.getJSON());
返回egp_details.toString();
}否则{
返回msg.toS