围观

klicky 2010-12-22 05:03:03
哪位大哥帮我看看偶滴代码哪里出问题了呀

UserAction

package com.frank.action;
import java.util.List;


import com.frank.dao.UserDAo;
import com.frank.obj.User;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private UserDAo userDao;
private User user;
private List users;
private int userid;
private int pageNo;
private int pageCount;
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public void setUsers(List users) {
this.users = users;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String readyUpdate() throws Exception{
user=this.getUserDao().getUserById(userid);
if(user!=null){
return SUCCESS;
}
return INPUT;
}
public String login() throws Exception{
if(this.getUserDao().checkUser(user)){
computePageCount();
users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;
}
return INPUT;
}
public String updateUser() throws Exception{
if(this.getUserDao().updateUser(user)){
computePageCount();
users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;
}
return INPUT;
}
public String deleteUser() throws Exception{
User user=this.getUserDao().getUserById(userid);
if(this.getUserDao().deleteUser(user)){
computePageCount();
users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;
}
return INPUT;
}
public String insertUser() throws Exception{
if(this.getUserDao().insertUser(user)){
computePageCount();

users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;
}
return INPUT;
}
public String selectUser() throws Exception{
computePageCount();
users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;

}
public void computePageCount(){
int tempCount=this.getUserDao().getItemCount();
pageCount=tempCount%10==0?tempCount/10:tempCount/10+1;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return super.execute();
}
public List getUsers() {
return users;
}
public void setUsrs(List users) {
this.users = users;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public UserDAo getUserDao() {
return userDao;
}
public void setUserDao(UserDAo userDao) {
this.userDao = userDao;
}


}
...全文
102 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
klicky 2010-12-23
  • 打赏
  • 举报
回复
问题解决了,哎。。。其实没啥错。。就是项目缓存的问题。。。我重启了Myeclipse后就运行成功了。。。第一次发帖。。发的有点乱,罪过,罪过,再次谢谢帮助过我的叔叔阿姨们~~~^_^
klicky 2010-12-22
  • 打赏
  • 举报
回复
public String login() throws Exception{
if(this.getUserDao().checkUser(user)){
computePageCount();
users=this.getUserDao().getAllUsers(pageNo);
return SUCCESS;
}
return INPUT;
}
guo98 2010-12-22
  • 打赏
  • 举报
回复
com.frank.action.UserAction.login(UserAction.java:44)

你贴的时候贴这里关键啊。。。把这个方法贴出来看看就行了。。。你贴这么多 晕啊
klicky 2010-12-22
  • 打赏
  • 举报
回复
package com.frank.dao;
public class RuleDAO {
private UserDAo userDAo;
public UserDAo getUserDAo() {
return userDAo;
}
public void setUserDAo(UserDAo userDAo) {
this.userDAo = userDAo;
}

}
klicky 2010-12-22
  • 打赏
  • 举报
回复
原来的项目中多了这个文件

package com.frank.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.frank.dao.RuleDAO;
import com.opensymphony.xwork2.ActionSupport;
public class BaseAction extends ActionSupport {
public RuleDAO getRuleDAO(){
ServletContext servletContext=ServletActionContext.getServletContext();
WebApplicationContext webApplicationContext=WebApplicationContextUtils.getWebApplicationContext(servletContext);
return (RuleDAO)webApplicationContext.getBean("ruleDAO");
}
public HttpServletRequest request(){
return ServletActionContext.getRequest();
}
public HttpServletResponse response(){
return ServletActionContext.getResponse();
}
public HttpSession session(){
return ServletActionContext.getRequest().getSession();
}
public ServletContext application(){
return ServletActionContext.getServletContext();
}
}
susasi_lky 2010-12-22
  • 打赏
  • 举报
回复

找了半天没找到哪里注入错了
Jlins 2010-12-22
  • 打赏
  • 举报
回复
还有命名要规范...
Jlins 2010-12-22
  • 打赏
  • 举报
回复
错了错了 是这个地方

public void setUserDao(UserDAo userDao) {
this.userDao = userDao;

应该是 setUserDAo吧
klicky 2010-12-22
  • 打赏
  • 举报
回复
是的,我知道是空指针,但是我哪都查过了,不知道哪里有写错,不知道是不是spring引入的时候出错了
Jlins 2010-12-22
  • 打赏
  • 举报
回复
<bean id="userDao" class="com.frank.dao.UserDAo">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean id="userAction" class="com.frank.action.UserAction">
<property name="userDao">
<ref bean="userDao"/>
</property>

检查拼写 !!!

我xxxx 我第一次这么有耐心看代码,.....我数44行 数了好几遍....
ethan_z 2010-12-22
  • 打赏
  • 举报
回复
java.lang.NullPointerException
com.frank.action.UserAction.login(UserAction.java:44)
klicky 2010-12-22
  • 打赏
  • 举报
回复
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
com.frank.action.UserAction.login(UserAction.java:44)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.29
klicky 2010-12-22
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mydb</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>8625739</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/frank/obj/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userDao" class="com.frank.dao.UserDAo">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate"/>
</property>
</bean>
<bean id="userAction" class="com.frank.action.UserAction">
<property name="userDao">
<ref bean="userDao"/>
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<tx:advice id="myadvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="userPointcut" expression="execution(* com.frank.dao..*.*(..))"/>
<aop:advisor advice-ref="myadvice" pointcut-ref="userPointcut"/>
</aop:config>
</beans>
klicky 2010-12-22
  • 打赏
  • 举报
回复
package com.frank.dao;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.frank.dao.UserDAo;
import com.frank.obj.User;
public class UserDAo{
private HibernateTemplate hibernateTemplate;
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}

public boolean checkUser(User user){
boolean checkUser = false;
try{
String queryString="from User user where user.username=? and user.password=?";
List list=hibernateTemplate.find(queryString,new Object[]{user.getUsername(),user.getPassword()});
if(list.size()>0){
return true;
}else{
return false;
}
}catch(HibernateException ex){
ex.printStackTrace();
return false;
}
}
public boolean updateUser(User user){
try{
hibernateTemplate.update(user);
return true;
}catch(HibernateException ex){
ex.printStackTrace();
return false;
}
}
public boolean deleteUser(User user){
try{
hibernateTemplate.delete(user);
return true;
}catch(HibernateException ex){
ex.printStackTrace();
return false;
}
}
public boolean insertUser(User user){
try{
hibernateTemplate.save(user);
return true;
}catch(HibernateException ex){
ex.printStackTrace();
return false;
}
}
public User getUserById(int userid){
try{
User user=(User)hibernateTemplate.load(User.class, new Integer(userid));
user.getUsername();
return user;
}catch(HibernateException ex){
ex.printStackTrace();
return null;
}
}
public List getAllUsers(int pageNo){
try{
Query query=hibernateTemplate.getSessionFactory().openSession().createQuery("from User");
query.setFirstResult(pageNo*10);
query.setMaxResults(10);
//String queryString="from Userinfo";
//hibernateTemplate.setMaxResults(10);
List list=query.list();
return list;
}catch(HibernateException ex){
ex.printStackTrace();
return null;
}
}
public int getItemCount(){
try{
Query query=hibernateTemplate.getSessionFactory().openSession().createQuery("select count(*) from User user");
Object obj=query.uniqueResult();
int count=Integer.parseInt(obj.toString());
return (int)count;
}catch(HibernateException ex){
ex.printStackTrace();
return 0;
}
}
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧