JavaJSFbean-空指针异常

JavaJSFbean-空指针异常,java,jsf,persistence,javabeans,Java,Jsf,Persistence,Javabeans,对于学校,我正在制作一个类似twitter的网站。现在我有这个空指针异常已经超过2天了。我希望获得有关以下错误的帮助: java.lang.NullPointerException 位于的java.lang.NullPointerException javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:37) 在 org.javassist.tmp.java.lang.Object\

对于学校,我正在制作一个类似twitter的网站。现在我有这个空指针异常已经超过2天了。我希望获得有关以下错误的帮助:

java.lang.NullPointerException

位于的java.lang.NullPointerException javassist.util.proxy.RuntimeSupport$DefaultMethodHandler.invoke(RuntimeSupport.java:37) 在 org.javassist.tmp.java.lang.Object\u$$\ ujavassist\u587.findAll(Object\u$$\ ujavassist\u587.java) 在 bean.KwetterBean.Followers(KwetterBean.java:218) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机 方法)在 invoke(NativeMethodAccessorImpl.java:39) 在 reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:304) 在 org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54) 在 org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163) 在 org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:298) 在 org.jboss.weld.bean.proxy.ClientProxyMethodHandler.invoke(ClientProxyMethodHandler.java:113) 在 org.jboss.weld.util.CleanableMethodHandler.invoke(CleanableMethodHandler.java:43) 在 bean.KwetterBean\u$$\ uJavassist\u593.Followers(KwetterBean\u$$\ uJavassist\u593.java) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机 方法)在 invoke(NativeMethodAccessorImpl.java:39) 在 reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737) 在 javax.el.BeanELResolver.invoke(BeanELResolver.java:467) 在 javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246) 在 com.sun.el.parser.AstValue.getValue(AstValue.java:111) 在 com.sun.el.parser.AstValue.getValue(AstValue.java:163) 在 com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219) 在 org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:71) 在 com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:217) 在 com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:78) 在 com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:75) 在 com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:176) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616) 在 javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616) 在 com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380) 在 com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126) 在 javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273) 在 com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127) 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 在 com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:313) 在 org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 在 com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) 在 com.sun.enterprise.web.peSessionLockingsStandardPipeline.invoke(peSessionLockingsStandardPipeline.java:85) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) 在 org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) 在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) 在 com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 在 ProcessorTask.process(ProcessorTask.java:954) 在 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) 在 com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 在 http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 在 ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun.grizzly.ContextTask.run(ContextTask.java:69) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 在 run(Thread.java:619)

现在所涉及的课程包括:

KwetterBean.java

/**要更改此模板,请选择 工具|模板*并打开 编辑器中的模板。*/包裹 豆子

导入域。*;进口 java.io.Serializable;进口 java.util.ArrayList;进口 java.util.Collection;进口 java.util.Collections;进口 java.util.Comparator;进口 java.util.Date;进口 java.util.HashMap;进口 java.util.Iterator;进口 java.util.LinkedHashMap;进口 java.util
// DATA
@Inject    private IUserService uService;
private User user;
private String newTweet;
private int newTweetLength;
private String twitterFilter;
private String trend = "";

// PROPERTIES
public int getnewTweetLength() {
    return newTweetLength;
}

public User getUser() {
    if (user == null) {
        //user = new User("test", "test", "test");
        user = uService.find(0);
    }
    return user;
}

public String getNewTweet() {
    return newTweet;
}

public void setNewTweet(String newTweet) {
    this.newTweet = newTweet;
}

public void LimitTweetLength(AjaxBehaviorEvent
public String getTwitterFilter() {
    return twitterFilter;
}

public void setTwitterFilter(String twitterFilter)
public Collection<Tweet> getMentioned() {
    List<Tweet> tweets = new ArrayList<Tweet>();
    for (User u : uService.findAll()) {
        for (Tweet t : u.getTweets()) {
            String[] words = t.getTweet().split(" ");
            for (String word : words) {
                if (word.equals("@" + user.getName())) {
                    tweets.add(t);
                }
            }
        }
    }
    // Custom comparator
    Collections.sort(tweets, new Comparator() {

        @Override
        public int compare(Object o1, Object o2) {
            Tweet p1 = (Tweet) o1;
            Tweet p2 = (Tweet) o2;
            return p2.getDatum().compareTo(p1.getDatum());
        }
    });
    return tweets;
}

public void setTrend(String trend)
{
    this.trend = trend;
}

public Collection<Tweet> getTrendTimeLine() {
    List<Tweet> trendTweets = new ArrayList<Tweet>();
    for (User u : uService.findAll()) {
        for (Tweet t : u.getTweets()) {
            String[] words = t.getTweet().split(" ");
            for (String word : words) {
                if(word.equals(trend))
                    trendTweets.add(t);
            }
        }
    }
    // Custom comparator
    Collections.sort(trendTweets, new Comparator() {

        @Override
        public int compare(Object o1, Object o2) {
            Tweet p1 = (Tweet) o1;
            Tweet p2 = (Tweet) o2;
            return p2.getDatum().compareTo(p1.getDatum());
        }
    });
    return trendTweets;
}

public List<String> getTrends() {
    List<String> templist = new ArrayList<String>();
    HashMap<String, Integer> trends = new HashMap<String,
    return templist.subList(0, 5);
}

public Collection<Tweet> getTimelineTweets() {
    if(!trend.isEmpty())
        return getTrendTimeLine();
    List<Tweet> tweets = new ArrayList<Tweet>();
    tweets.addAll(user.getTweets());
    for (User following : user.getFollowing()) {
        tweets.addAll(following.getTweets());
    }

    if (twitterFilter != null && twitterFilter.length() > 0) {
        Collection<Tweet> filteredTweets = new
        @Override
        public int compare(Object o1, Object o2) {
            Tweet p1 = (Tweet) o1;
            Tweet p2 = (Tweet) o2;
            return p2.getDatum().compareTo(p1.getDatum());
        }
    });
    return tweets;
}

// METHODS
public void setUser(String name) {
    List<User> temp = uService.findAll();
    for (User u : temp) {
        if (u.getName().equals(name)) {
            this.user = u;
        }
    }
}

public void submitTweet() {
    if (newTweet != null && newTweet.length() > 0) {
        Tweet tweet = new Tweet(newTweet, new Date(), "PC");
        user.addTweet(newTweet);
        newTweet = "";
        newTweetLength = 0;
    }
}

public Collection<User> Followers(User user) {
    List<User> tempUserList = new ArrayList<User>();
    Iterator<User> iterator = uService.findAll().iterator();
    while (iterator.hasNext()) {
        User tempUser = iterator.next();
        if (tempUser.getFollowing().contains(user))
public String viewUser(User user) {
    trend = "";
    this.user = user;
    return "index.xhtml";
}

public List<String> getAllUsers() {
    List<String> tempUserList = new ArrayList<String>();
    Iterator<User> iterator = uService.findAll().iterator();
    while (iterator.hasNext()) {
        tempUserList.add(iterator.next().getName());
    }
    return tempUserList;
}

public String Login() {
    return "login.xhtml";
}

public String Logout() {
    return "index.xhtml";
}

private static Map sortByValue(Map map) {
    List list = new LinkedList(map.entrySet());
    Collections.sort(list, new Comparator() {

        @Override
        public int compare(Object o1, Object o2) {
            return ((Comparable) ((Map.Entry)
    Map result = new LinkedHashMap();
    for (Iterator it = list.iterator(); it.hasNext();) {
        Map.Entry entry = (Map.Entry) it.next();
        result.put(entry.getKey(), entry.getValue());
    }
    return result;
} }
@PersistenceContext(unitName="Kwetter")
private EntityManager em;

@Override
public int count() {
    throw new UnsupportedOperationException("Not
public UserServiceJPA() {

    initUsers();
}

public void initUsers(){
    User u1 = new User("Hans","http","geboren 1");
    User u2 = new User("Frank","httpF","geboren 2");
    User u3 = new User("Tom","httpT","geboren 3");
    User u4 = new User("Sjaak","httpS","geboren 4");

    this.create(u1);
    this.create(u2);
    this.create(u3);
    this.create(u4);
}

@Override
public void create(User user) {
    em.persist(user);
}

@Override
public void edit(User user) {
    User user2 = new User();
    user2 = em.find(User.class, user.getId());
    user2.setFollowing(user.getFollowing());
    user2.setTweets(user.getTweets());
}

@Override
public User find(int id) {
    User user1 = new User();        
    user1 = em.find(User.class, (long)id);
    return user1;
}

@Override
public List<User> findAll() {
    List<User> users = new ArrayList();

    TypedQuery<User> query = em.createQuery("select u From User u",
    return users;
}

@Override
public void remove(User user) {
    em.remove(user);
}