这是登陆页面的form表单
<form name="userForm" method="post" action="logon.do?action=logon">
<table width="432" height="236" border="0" cellpadding="0" cellspacing="0" background="images/login.gif">
<tr align="center">
<td height="128" colspan="2" > </td>
</tr>
<tr>
<td width="170" height="31" align="center" >用户名:</td>
<td width="230" height="31" >
<input name="username" type="text" class="input"> </td>
</tr>
<tr>
<td width="170" height="29" align="center">密 码:</td>
<td width="230" height="29" ><input name="password" type="password" class="input" ></td>
</tr>
<tr>
<td height="70" colspan="2" align="center" ><input type="submit" name="Submit" value="登陆" class="button">
<input type="reset" name="Submit2" value="重置"class="button"></td>
</tr>
</table>
</form>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="userForm" type="com.ems.actionForm.UsersForm" />
</form-beans> <global-forwards>
<forward name="error" path="/error.jsp" />
</global-forwards>
<action-mappings>
<!-- UsersAction -->
<action path="/logon" type="com.ems.action.UsersAction" name="userForm" scope="request">
<forward name="success" path="/manage.jsp" />
<forward name="failed" path="/failed.jsp" />
</action>
</action-mappings>
</struts-config>这是actionFormpackage com.ems.actionForm;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;import com.ems.model.Users;
import com.ems.util.DateUtil;
public class UsersForm extends ActionForm {
private Long id; private String username; private String password; private Byte sex; private String birthday; private String createtime; private Byte isadmin; private String content;
public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public Byte getSex() {
return sex;
} public void setSex(Byte sex) {
this.sex = sex;
} public Byte getIsadmin() {
return isadmin;
} public void setIsadmin(Byte isadmin) {
this.isadmin = isadmin;
} public String getBirthday() {
return birthday;
} public void setBirthday(String birthday) {
this.birthday = birthday;
} public String getCreatetime() {
return createtime;
} public void setCreatetime(String createtime) {
this.createtime = createtime;
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public void reset(ActionMapping arg0, HttpServletRequest arg1) {
this.id=null;
this.username=null;
this.password=null;
this.isadmin=null;
this.createtime=null;
this.content=null;
this.sex=null;
this.birthday=null;
} public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
return null;
}
public String toString() {
StringBuffer toStr = new StringBuffer();
toStr.append("[UsersForm] = [\n");
toStr.append(" id = " + this.id + ";\n");
toStr.append(" username = " + this.username + ";\n");
toStr.append(" password = " + this.password + ";\n");
toStr.append(" sex = " + this.sex + ";\n");
toStr.append(" birthday = " + this.birthday+ ";\n");
toStr.append(" createtime = " + this.createtime+ ";\n");
toStr.append(" isadmin = " + this.isadmin+ ";\n");
toStr.append(" content = " + this.content + ";\n");
toStr.append(" ];\n");
return toStr.toString();
}
public Users populate(){
Users u=new Users();
u.setId(getId());
u.setIsadmin(getIsadmin());
u.setContent(getContent());
u.setUsername(getUsername());
u.setPassword(getPassword());
u.setSex(getSex());
u.setBirthday(DateUtil.parseToDate(getBirthday(),DateUtil.yyyyMMdd));
u.setCreatetime(DateUtil.parseToDate(getCreatetime(),DateUtil.yyyyMMddHHmmss));
return u;
}
}这是actionpackage com.ems.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.HibernateException;import com.ems.actionForm.UsersForm;
import com.ems.model.Users;
import com.ems.service.UsersDao;
public class UsersAction extends Action { private UsersDao usersDao;
public UsersDao getUsersDao() {
return usersDao;
}
public void setUsersDao(UsersDao usersDao) {
this.usersDao = usersDao;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String action =request.getParameter("action");
System.out.println("\nUsersAction*********************action="+action);
if(action==null||"".equals(action)){
return mapping.findForward("error");
}else if("listuser".equals(action)){
return listUser(mapping,form,request,response);
}else if("adduser".equals(action)){
return addUsers(mapping,form,request,response);
}else if("logon".equals(action)){
return logon(mapping,form,request,response);
}else if("updateuser".equals(action)){
return updateUser(mapping,form,request,response);
}else if("deleteuser".equals(action)){
return deleteUser(mapping,form,request,response);
}else if("selectuser".equals(action)){
return selectUser(mapping,form,request,response);
}
return mapping.findForward("error");
}
private ActionForward logon(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException {
UsersForm usersform=(UsersForm)form;
Users users=new Users();
users.setUsername(usersform.getUsername());
users.setPassword(usersform.getPassword());
boolean flag=usersDao.logonUsers(users);
if(flag){
request.getSession().setAttribute("users",users);
return mapping.findForward("success");
}else{
return mapping.findForward("failed");
}
}
}这是DAO文件package com.ems.service;import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.ems.model.Users;public class UsersDao extends HibernateDaoSupport{
public boolean logonUsers(Users users){
List list = this.getHibernateTemplate().find("from Users au where au.username = ? and au.password = ?"
,new String[]{users.getUsername(),users.getPassword()});
if(list != null && list.size() >= 1){
return true;
}else{
return false;
}
}
这是spring文件,由于字数限制我只发有用的部分
<!-- Spring支持Hibernate框架的配置,得到SessionFactory-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect</prop>
<!-- 是否根据需要每次自动创建数据库 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 显示Hibernate持久化操作所生成的SQL -->
<prop key="hibernate.show_sql">true</prop>
<!-- 将SQL脚本进行格式化后再输出 -->
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/ems/model/Users.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager" class=
"org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务切面Bean,指定事务管理器 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 用于配置详细的事务语义 -->
<tx:attributes>
<!-- 所有以'get'开头的方法是read-only的 -->
<tx:method name="get*" read-only="true"/>
<!-- 其他方法使用默认的事务设置 -->
<tx:method name="*"/>
</tx:attributes>
</tx:advice> <aop:config>
<aop:pointcut id="leePointcut"
expression="execution(* com.ems.action.*Action.*(..))"/>
<!-- 指定在leePointcut切入点应用txAdvice事务切面 -->
<aop:advisor advice-ref="txAdvice"
pointcut-ref="leePointcut"/>
</aop:config> <bean id="usersDao" class="com.ems.service.UsersDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</beans>
<form name="userForm" method="post" action="logon.do?action=logon">
<table width="432" height="236" border="0" cellpadding="0" cellspacing="0" background="images/login.gif">
<tr align="center">
<td height="128" colspan="2" > </td>
</tr>
<tr>
<td width="170" height="31" align="center" >用户名:</td>
<td width="230" height="31" >
<input name="username" type="text" class="input"> </td>
</tr>
<tr>
<td width="170" height="29" align="center">密 码:</td>
<td width="230" height="29" ><input name="password" type="password" class="input" ></td>
</tr>
<tr>
<td height="70" colspan="2" align="center" ><input type="submit" name="Submit" value="登陆" class="button">
<input type="reset" name="Submit2" value="重置"class="button"></td>
</tr>
</table>
</form>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="userForm" type="com.ems.actionForm.UsersForm" />
</form-beans> <global-forwards>
<forward name="error" path="/error.jsp" />
</global-forwards>
<action-mappings>
<!-- UsersAction -->
<action path="/logon" type="com.ems.action.UsersAction" name="userForm" scope="request">
<forward name="success" path="/manage.jsp" />
<forward name="failed" path="/failed.jsp" />
</action>
</action-mappings>
</struts-config>这是actionFormpackage com.ems.actionForm;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;import com.ems.model.Users;
import com.ems.util.DateUtil;
public class UsersForm extends ActionForm {
private Long id; private String username; private String password; private Byte sex; private String birthday; private String createtime; private Byte isadmin; private String content;
public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public Byte getSex() {
return sex;
} public void setSex(Byte sex) {
this.sex = sex;
} public Byte getIsadmin() {
return isadmin;
} public void setIsadmin(Byte isadmin) {
this.isadmin = isadmin;
} public String getBirthday() {
return birthday;
} public void setBirthday(String birthday) {
this.birthday = birthday;
} public String getCreatetime() {
return createtime;
} public void setCreatetime(String createtime) {
this.createtime = createtime;
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public void reset(ActionMapping arg0, HttpServletRequest arg1) {
this.id=null;
this.username=null;
this.password=null;
this.isadmin=null;
this.createtime=null;
this.content=null;
this.sex=null;
this.birthday=null;
} public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
return null;
}
public String toString() {
StringBuffer toStr = new StringBuffer();
toStr.append("[UsersForm] = [\n");
toStr.append(" id = " + this.id + ";\n");
toStr.append(" username = " + this.username + ";\n");
toStr.append(" password = " + this.password + ";\n");
toStr.append(" sex = " + this.sex + ";\n");
toStr.append(" birthday = " + this.birthday+ ";\n");
toStr.append(" createtime = " + this.createtime+ ";\n");
toStr.append(" isadmin = " + this.isadmin+ ";\n");
toStr.append(" content = " + this.content + ";\n");
toStr.append(" ];\n");
return toStr.toString();
}
public Users populate(){
Users u=new Users();
u.setId(getId());
u.setIsadmin(getIsadmin());
u.setContent(getContent());
u.setUsername(getUsername());
u.setPassword(getPassword());
u.setSex(getSex());
u.setBirthday(DateUtil.parseToDate(getBirthday(),DateUtil.yyyyMMdd));
u.setCreatetime(DateUtil.parseToDate(getCreatetime(),DateUtil.yyyyMMddHHmmss));
return u;
}
}这是actionpackage com.ems.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.HibernateException;import com.ems.actionForm.UsersForm;
import com.ems.model.Users;
import com.ems.service.UsersDao;
public class UsersAction extends Action { private UsersDao usersDao;
public UsersDao getUsersDao() {
return usersDao;
}
public void setUsersDao(UsersDao usersDao) {
this.usersDao = usersDao;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String action =request.getParameter("action");
System.out.println("\nUsersAction*********************action="+action);
if(action==null||"".equals(action)){
return mapping.findForward("error");
}else if("listuser".equals(action)){
return listUser(mapping,form,request,response);
}else if("adduser".equals(action)){
return addUsers(mapping,form,request,response);
}else if("logon".equals(action)){
return logon(mapping,form,request,response);
}else if("updateuser".equals(action)){
return updateUser(mapping,form,request,response);
}else if("deleteuser".equals(action)){
return deleteUser(mapping,form,request,response);
}else if("selectuser".equals(action)){
return selectUser(mapping,form,request,response);
}
return mapping.findForward("error");
}
private ActionForward logon(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws HibernateException {
UsersForm usersform=(UsersForm)form;
Users users=new Users();
users.setUsername(usersform.getUsername());
users.setPassword(usersform.getPassword());
boolean flag=usersDao.logonUsers(users);
if(flag){
request.getSession().setAttribute("users",users);
return mapping.findForward("success");
}else{
return mapping.findForward("failed");
}
}
}这是DAO文件package com.ems.service;import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.ems.model.Users;public class UsersDao extends HibernateDaoSupport{
public boolean logonUsers(Users users){
List list = this.getHibernateTemplate().find("from Users au where au.username = ? and au.password = ?"
,new String[]{users.getUsername(),users.getPassword()});
if(list != null && list.size() >= 1){
return true;
}else{
return false;
}
}
这是spring文件,由于字数限制我只发有用的部分
<!-- Spring支持Hibernate框架的配置,得到SessionFactory-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLInnoDBDialect</prop>
<!-- 是否根据需要每次自动创建数据库 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 显示Hibernate持久化操作所生成的SQL -->
<prop key="hibernate.show_sql">true</prop>
<!-- 将SQL脚本进行格式化后再输出 -->
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/ems/model/Users.hbm.xml</value>
</list>
</property>
</bean>
<bean id="transactionManager" class=
"org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 配置事务切面Bean,指定事务管理器 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 用于配置详细的事务语义 -->
<tx:attributes>
<!-- 所有以'get'开头的方法是read-only的 -->
<tx:method name="get*" read-only="true"/>
<!-- 其他方法使用默认的事务设置 -->
<tx:method name="*"/>
</tx:attributes>
</tx:advice> <aop:config>
<aop:pointcut id="leePointcut"
expression="execution(* com.ems.action.*Action.*(..))"/>
<!-- 指定在leePointcut切入点应用txAdvice事务切面 -->
<aop:advisor advice-ref="txAdvice"
pointcut-ref="leePointcut"/>
</aop:config> <bean id="usersDao" class="com.ems.service.UsersDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
</beans>
解决方案 »
- javamail如何解析中文附件名(数据库中不乱码)
- javascript如何遍历后台request传过来的List对象
- 关于Excel文件的读取问题.急!!!!!!!!!!
- 开源翻译管理平台GlobalSight二次开发,寻高手合作
- Struts2.0中Tiles框架使用(我想使index页面根据用户选中某一模板文件来动态的生成index页面?请问该怎么解决)
- 请教有关用velocity模板导出数据,但数据库中值为空的处理方式。
- 关于java多线程优先级
- tomcat连接池的问题,为什么我的web页面里ado连接已经关闭啦。为什么到最后会提示没有可用的连接池了呢?急!!
- 如何获得剪贴板中的内容,送100分
- 请教高手:JAVA面试问题
- 求救java.lang.ClassCastException: java.lang.Long
- jpa OneToMany 不能级联删除
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at com.ems.action.UsersAction.logon(UsersAction.java:91)
at com.ems.action.UsersAction.execute(UsersAction.java:49)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
UsersForm usersform=(UsersForm)form;
Users users=new Users();
users.setUsername(usersform.getUsername());
users.setPassword(usersform.getPassword());
boolean flag=usersDao.logonUsers(users);这是异常at com.ems.action.UsersAction.logon(UsersAction.java:91)]
if(flag){
request.getSession().setAttribute("users",users);
return mapping.findForward("success");
}else{
return mapping.findForward("failed");
}
} public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String action =request.getParameter("action");
System.out.println("\nUsersAction*********************action="+action);
if(action==null||"".equals(action)){
return mapping.findForward("error");
}else if("listuser".equals(action)){
return listUser(mapping,form,request,response);
}else if("adduser".equals(action)){
return addUsers(mapping,form,request,response);
}else if("logon".equals(action)){
return logon(mapping,form,request,response);这是异常com.ems.action.UsersAction.execute(UsersAction.java:49)
}else if("updateuser".equals(action)){
return updateUser(mapping,form,request,response);
}else if("deleteuser".equals(action)){
return deleteUser(mapping,form,request,response);
}else if("selectuser".equals(action)){
return selectUser(mapping,form,request,response);
}
return mapping.findForward("error");
}
<bean id="logon" class="com.ems.action.UsersAction" scope="prototype">
<property name="usersDao">
<ref bean="usersDao"/>
</property>
</bean>
<!-- UsersAction -->
<action path="/logon" type="XXXXXXX" name="userForm" scope="request">
<forward name="success" path="/manage.jsp" />
<forward name="failed" path="/failed.jsp" />
</action><bean name="XXXXXXX" class="com.ems.action.UsersAction" scope="prototype">
<property name="usersDao">
<ref bean="usersDao"/>
</property>
</bean>
type="XXXXXXX" 的值与 name="XXXXXXX" 的值对应,试试行不行。
我的type="com.ems.action.logon" 而 bean name="logon" 难道要我把type改成“logon"?
HTTP Status 500 - No action instance for path /logon could be created
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.ems.model.Users;public class UsersDao extends HibernateDaoSupport{
public boolean logonUsers(Users users){
List list = this.getHibernateTemplate().find("from Users au where au.username = ? and au.password = ?"
,new String[]{users.getUsername(),users.getPassword()});
if(list != null && list.size() >= 1){
return true;
}else{
return false;
}
}