Tag: spring mvc

控制器中的Spring Boot @Async方法同步执行

我的[基本] Spring Boot应用程序接受来自浏览器的请求,通过jQuery.get()发送,并且应该立即收到响应 – 例如“ 您的请求已经排队 ”。 为此,我写了一个控制器: @Controller public class DoSomeWorkController { @Autowired private final DoWorkService workService; @RequestMapping(“/doSomeWork”) @ResponseBody public String doSomeWork() { workService.doWork(); // time consuming operation return “Your request has been queued.”; } } DoWorkServiceImpl类实现了DoWorkService接口,非常简单。 它有一种方法来执行耗时的任务。 我不需要从此服务调用返回任何内容,因为电子邮件将在工作结束时发送,包括失败或成功方案。 所以它实际上看起来像: @Service public class DoWorkServiceImpl implements DoWorkService { @Async(“workExecutor”) @Override public void doWork() { try […]

将Spring HandlerInterceptor仅绑定到一个控制器

使用Spring 3.0.2.RELEASE。 我在com.myCompany包中有2个控制器。 控制器通过组件扫描激活 然后我有一个拦截器绑定到2个控制器通过 如何将拦截器仅绑定到一个特定的控制器或仅绑定到控制器内的某些方法? 背景:我想检查它包含某些参数的URL Docu Link

如何在web.xml中配置spring-boot servlet?

我在web.xml中有一个简单的servlet配置: appServlet org.atmosphere.cpr.MeteorServlet org.atmosphere.servlet org.springframework.web.servlet.DispatcherServlet contextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocation net.org.selector.animals.config.ComponentConfiguration 1 true appServlet / 如何为SpringBootServletInitializer重写它?

在JPA中使用Spring Security

我是Spring的新手。 我们正在使用弹簧安全function。 数据库连接:JPA的eclipselink实现。 数据库:MySql 使用spring security时,身份validation提供程序的配置如下, – 但是在JPA中我们没有定义数据源,我们使用持久性单元和提供者jpa.PersistenceProvider. 那么我们如何配置身份validation提供程序以便使用JPA进行数据库连接? data-source-ref字段究竟应该包含什么才能使用数据库进行身份validation? 先谢谢你。

学习Spring的@RequestBody和@RequestParam

我正在编辑一个使用Spring的Web项目,我需要添加一些Spring的注释。 我要添加的两个是@RequestBody和@RequestParam 。 我一直在探索一下并找到了这个 ,但我仍然不完全理解如何使用这些注释。 有人能提供一个例子吗?

在Spring MVC中重定向期间传递模型属性,并在URL中避免相同

我是spring的新手 我也在stackoverflow中搜索过web和相关post。 我找不到我真正需要的那个。 我的目标是在重定向期间将模型属性从控制器传递到jsp页面,并避免在URL中显示属性。 以下是使用jdovalidation从数据存储区登录。 我的控制器: @Controller public class LoginController { int count; PersistenceManager pm = PMF.get().getPersistenceManager(); //Instance of data class User user; ModelAndView modelAndView=new ModelAndView(); @RequestMapping(value=”/Login”,method = RequestMethod.POST) public ModelAndView loginValidate(HttpServletRequest req){ //Getting login values String uname=req.getParameter(“nameLogin”); String pswd1=req.getParameter(“pswdLogin”); count=0; user=new User(); //Generating Query Query q = pm.newQuery(User.class); q.setFilter(“userName == userNameParam”); q.declareParameters(“String userNameParam”); try{ […]

元素’mvc:annotation-driven’找不到声明

我需要从我的控制器返回JSON / XML数据。从我发现的,我在我的方法中需要@ResponseBody ,为此我需要启用 。 我尝试了各种RnD,但仍然卡住了! 🙁 显然我的问题在于我的servlet.xml文件(架构没有得到validation!)我正在使用Spring 3.1.1并在我的类路径中明确地放入了spring-mvc-3.1.1.jar。 这是我的servlet-context文件sample-servlet.xml: com.sample.model.SampleClass 我的控制器类看起来像这样: @Controller public class XmlController { @RequestMapping(value=”/getXml”,method = RequestMethod.POST) public @ResponseBody AssociateDetail getXml(){ System.out.println(“inside xml controller…..”); AssociateDetail assoBean=null; try{ AssociateService add=new AssociateService(); assoBean=add.selectAssociateBean(); }catch(Exception e){ e.printStackTrace(); } return assoBean; } } 现在问题是给出错误: cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有找到元素’mvc:annotation-driven’的声明。 我已尝试过本网站及其他网站上建议的所有变通方法。 使用Spring 3.1.1和@ResponseBody更新了我的模式名称空间。

Spring MVC:如何修改从控制器发送的json响应

我用这样的控制器构建了一个json REST服务: @Controller @RequestMapping(value = “/scripts”) public class ScriptController { @Autowired private ScriptService scriptService; @RequestMapping(method = RequestMethod.GET) @ResponseBody public List get() { return scriptService.getScripts(); } } 它工作正常,但现在我需要修改所有响应并向所有响应添加“status”和“message”字段。 我读过一些解决方案: 从一些特定类的所有控制器方法对象返回,例如,RestResponse,它将包含“status”和“message”字段(但它不是一般的解决方案,因为我将不得不修改我的所有控制器并以新的方式编写新的控制器) 用方面拦截所有控制器方法(但在这种情况下我不能改变返回类型) 如果我想将从控制器方法返回的值包装到类的对象中,你能否提出一些其他的,通用的和正确的解决方案: public class RestResponse { private int status; private String message; private Object data; public RestResponse(int status, String message, Object data) { this.status = status; […]

测试Spring MVC注释映射

使用Spring MVC,您可以指定特定URL将由特定方法处理,并且您可以指定特定参数将映射到特定参数,如下所示: @Controller public class ImageController { @RequestMapping(“/getImage”) public String getImage( @RequestParam(“imageId”) int imageId, Map model ) { model.put(“image”,ImageService.getImage(imageId)); } } 这一切都很好,但现在我想测试带有imageId参数的http请求将正确调用此方法。 换句话说,如果我删除或更改任何注释,我想要一个会破坏的测试。 有没有办法做到这一点? 很容易测试getImage是否正常工作。 我可以创建一个ImageController并使用适当的参数调用getImage。 但是,这只是测试的一半。 测试的另一半必须是当适当的HTTP请求进入时,Spring框架是否会调用getImage()。我觉得我还需要对此部分进行测试,特别是当我的@RequestMapping注释变得更加复杂并调用时复杂的参数条件。 如果我删除第4行,@ @RequestMapping(“getImage”) ,你能告诉我一个测试会破坏吗?

绑定Spring MVC中的列表映射

我不确定这是否是一个复杂的问题,但作为一个初学者,这对我来说似乎有点复杂。 我有一个对象,我需要在UI上显示一些值,让用户选择其中的一些,我需要在用户点击提交按钮时将数据发送回另一个控制器。这是我的数据对象的结构 public class PrsData{ private Map<String, List> prsCDData; } public class PrsCDData{ private Map<String, Collection> configuredDesignData; } public ConfiguredDesignData{ // simple fields } 我在显示视图之前在模型中设置了对象 model.addAttribute(“prsData”, productData.getPrData()); 在表格中,我有以下设置 这就是我在AddProductToCartController public String addToCart(@RequestParam(“productCodePost”) final String code, @ModelAttribute(“prsData”) final PrsData prsData, final Model model, @RequestParam(value = “qty”, required = false, defaultValue = “1”) final long qty) 在提交表格后,我将收到例外情况 […]