小编jac*_*ind的帖子

模拟MVC - 添加请求参数进行测试

我使用spring 3.2 mock mvc来测试我的控制器.我的代码是

 @Autowired
    private Client client;

     @RequestMapping(value = "/user", method = RequestMethod.GET)
        public String initUserSearchForm(ModelMap modelMap) {
            User user = new User();
            modelMap.addAttribute("User", user);
            return "user";
        }

        @RequestMapping(value = "/byName", method = RequestMethod.GET)
        @ResponseStatus(HttpStatus.OK)
        public
        @ResponseBody
        String getUserByName(@RequestParam("firstName") String firstName,
                                 @RequestParam("lastName") String lastName, @ModelAttribute("userClientObject") UserClient userClient) {

            return client.getUserByName(userClient, firstName, lastName);
        }
Run Code Online (Sandbox Code Playgroud)

我写了以下测试:

@Test
 public void testGetUserByName() throws Exception {
        String firstName = "Jack";
        String lastName = "s";       
        this.userClientObject = client.createClient();
        mockMvc.perform(get("/byName")
                .sessionAttr("userClientObject", this.userClientObject)
                .param("firstName", firstName)
                .param("lastName", lastName) …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-mvc-test

65
推荐指数
2
解决办法
11万
查看次数

java.lang.NoClassDefFoundError:Intellij中的org/hamcrest/SelfDescribing

我使用了Intellij Idea 12社区版.我试图通过创建测试用例为我的类创建测试用例.当我运行我的测试用例时,它说

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:44)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 25 more
Run Code Online (Sandbox Code Playgroud)

我如何在Intellij中运行测试用例.我将junit4.11 jar文件包含在我的模块中

java junit intellij-idea junit4

28
推荐指数
2
解决办法
5万
查看次数

在Spring中,Form值为Null而不是""

我在用"".我使用表单提交.当我没有给表单赋值时意味着它带有""空字符串.是否可以设置空值而不是""(空)

在此先感谢您的帮助.可能这是一个愚蠢的问题.我是新手.

forms spring web-applications spring-mvc

19
推荐指数
1
解决办法
6853
查看次数

Spring MVC 415不支持的媒体类型

我使用Spring 3.2并尝试使用ajax post请求提交json对象数组.如果这是相关的,我逃脱了所有特殊字符.

我的HTTP状态为415.

我的控制器是:

@RequestMapping(value = "/save-profile", method = RequestMethod.POST,consumes="application/json")
    public @ResponseBody String saveProfileJson(@RequestBody String[] profileCheckedValues){
        System.out.println(profileCheckedValues.length);
        return "success";
    }
Run Code Online (Sandbox Code Playgroud)

jquery是:

jQuery("#save").click(function () {
        var profileCheckedValues = [];
        jQuery.each(jQuery(".jsonCheck:checked"), function () {
            profileCheckedValues.push($(this).val());
        });
        if (profileCheckedValues.length != 0) {
            jQuery("body").addClass("loading");
            jQuery.ajax({
                type: "POST",
                contentType: "application/json",
                url: contextPath + "/sample/save-profile",
                data: "profileCheckedValues="+escape(profileCheckedValues),
                dataType: 'json',
                timeout: 600000,
                success: function (data) {
                    jQuery('body').removeClass("loading");
                },
                error: function (e) {
                    console.log("ERROR: ", e);
                    jQuery('body').removeClass("loading");
                }
            });
        }
    });
Run Code Online (Sandbox Code Playgroud)

我发布的数组中的一个对象的示例是以下json:

{
  "id": "534213341",
  "name": "Jack …
Run Code Online (Sandbox Code Playgroud)

ajax jquery spring spring-mvc

14
推荐指数
2
解决办法
6万
查看次数

Spring @SessionAttribute如何在同一个控制器中检索会话对象

我使用的是Spring 3.2.0 MVC.在那里我必须将一个对象存储到会话中.目前我正在使用HttpSession set和get属性来存储和检索值.

它只返回String而不是Object.我想在我尝试使用@SessionAttribute时在会话中设置对象但我无法检索会话对象

 @RequestMapping(value = "/sample-login", method = RequestMethod.POST)
    public String getLoginClient(HttpServletRequest request,ModelMap modelMap) {
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        User user = sample.createClient(userName, password);
        modelMap.addAttribute("userObject", user);
        return "user";
    }


     @RequestMapping(value = "/user-byName", method = RequestMethod.GET)
    public
    @ResponseBody
    String getUserByName(HttpServletRequest request,@ModelAttribute User user) {

        String fas= user.toString();
        return fas;
    }
Run Code Online (Sandbox Code Playgroud)

两种方法都在同一个控制器中.我如何使用它来检索对象?

java spring spring-mvc

8
推荐指数
1
解决办法
5万
查看次数

jQuery Handler错误不是一个函数

我正在使用jquery ajax fileupload.该文件正确上传,但我得到了错误

TypeError: jQuery.handleError is not a function
[Break On This Error]   

jQuery.handleError(s, xml, status, e); 
Run Code Online (Sandbox Code Playgroud)

使用jQuery版本1.7.2和代码是

jQuery.ajaxFileUpload
        (
            {
                url:'<?php echo $currenturl.'&fileupload=enable';?>',
                secureuri:false,
                fileElementId:'fileToUpload',
                dataType: 'json',
                data:{'image_desc':image_desc,'gallery_id':curr_time_stamp},
                success: function (data, status)
                {   

                     if(typeof(data.error) != 'undefined')
                    {
                        if(data.error != '')
                        {
                            alert(data.error);
                        }else
                        {
                            alert(data.msg);
                            showprofilepicture();
                        }
                    }
                }

            }
        ) 
Run Code Online (Sandbox Code Playgroud)

函数showprofilepicture()也没有被执行.

jquery jquery-plugins

7
推荐指数
1
解决办法
2万
查看次数

PayPal API错误 - 此付款申请必须由发件人授权

在延迟链式自适应Paypal中,当我使用付费密钥执行付款时,主要付款成功发送,它显示如下错误

我如何授权从主要接收者发送金额到二级

PayPal API Error

responseEnvelope.timestamp: 2012-10-31T01:12:05.386-07:00
responseEnvelope.ack:   Failure
responseEnvelope.correlationId: fd2c71e75c133
responseEnvelope.build: 3988550
error(0).errorId:   550001
error(0).domain:    PLATFORM
error(0).subdomain: Application
error(0).severity:  Error
error(0).category:  Application
error(0).message:   This payment request must be authorized by the sender
Run Code Online (Sandbox Code Playgroud)

paypal chained paypal-sandbox paypal-adaptive-payments

7
推荐指数
1
解决办法
1048
查看次数

覆盖构造函数

我对Overriding Constructors非常困惑.构造函数不能被覆盖是我在谷歌搜索它时得到的结果我的问题是

public class constructorOverridden {

    public static void main(String args[]) {
        Sub sub = new Sub();
        sub.test();
    }
}

class Super {
    Super() {
        System.out.println("In Super constructor");
        test();
    }

    void test() {
        System.out.println("In Super.test()");
    }
}

class Sub extends Super {
    Sub() {
        System.out.println("In Sub constructor");
    }

    void test() { // overrides test() in Super
        System.out.println("In Sub.test()");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到了结果

In Super constructor
In Sub.test()
In Sub constructor
In Sub.test()
Run Code Online (Sandbox Code Playgroud)

请注意,子类中的测试方法已执行.是否显示超级构造函数被覆盖.是否正确?

java oop

6
推荐指数
1
解决办法
1万
查看次数

JSP isThreadSafe默认

我学习jsp.我在jsp中的isThreadSafe属性中有很大的困惑.默认情况下,Jsp不是线程安全的isThreadSafe= true

如果我们设置isThreadSafe=false意味着JSP引擎确保一次只有一个线程正在执行您的JSP.

我有真或假的混淆.isThreadSafe = false意味着只有muliple线程可以通过isThreadSafe访问jsp

isThreadSafe是什么意思?

     The isThreadSafe option marks a page as being thread-safe.
 By default, all JSPs are considered thread-safe. If you set the isThreadSafe option to false, the JSP engine makes sure that only one thread at a time is executing your JSP.

        The following page directive sets the isThreadSafe option to false:
    <%@ page isThreadSafe="false"  %>
Run Code Online (Sandbox Code Playgroud)

线程安全意味着多个线程无法一次访问jsp页面是否正确?

jsp java-ee

5
推荐指数
1
解决办法
2万
查看次数

用于获取用户推文的 Twitter Stream API

我正在使用 Twitter Stream API 来获取用户的推文。我有用户 ID 列表 我如何从 TwitterStream API 获取推文列表。我分析了以下示例

public class TwitterStreamAPI {

    public static void main(String[] args) {
        ConfigurationBuilder cb = new ConfigurationBuilder();
        cb.setDebugEnabled(true);
        cb.setOAuthConsumerKey("xxxx");
        cb.setOAuthConsumerSecret("xxx");
        cb.setOAuthAccessToken("xxx");
        cb.setOAuthAccessTokenSecret("xxx");

        TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();

        UserStreamListener listener = new UserStreamListener() {
            @Override
            public void onStatus(Status status) {
                System.out.println("onStatus @" + status.getUser().getScreenName() + " - " + status.getText());
            }

            @Override
            public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
                //System.out.println("Got a status deletion notice id:" + statusDeletionNotice.getStatusId());
            }

            @Override
            public void onDeletionNotice(long directMessageId, long …
Run Code Online (Sandbox Code Playgroud)

java twitter stream twitter4j

5
推荐指数
1
解决办法
1万
查看次数