JavaJSFbean-空指针异常
对于学校,我正在制作一个类似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.utilJavaJSFbean-空指针异常,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\
// 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);
}