#jsp #struts2
#jsp #распорки 2
Вопрос:
Вот мой struts.xml
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="reg" class="action.StudentAction">
<result name="success">register-success.jsp</result>
<result name="error">register-error.jsp</result>
</action>
<action name="login" class="action.LoginAction" method="execute">
<result name="success">hello.jsp</result>
<result name="input">login.jsp</result>
<result name="error">login.jsp</result>
</action>
</package>
</struts>
Вот мой UserDao
package action;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import util.HibernateService;
import util.Student;
public class UserDao {
public boolean find(String username,String password)
{
Session s=HibernateService.getSession();
String q="select * from student where username='" username "' and
password='" password "'";
System.out.println(q);
Query query=s.createQuery(q);
Iterator<Student> it=query.iterate();
List<Student> list=query.list();
if(list.size()>0)
{
s.close();
return true;
}
s.close();
return true;
}
}
вот мое loginAction
package action;
import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import util.HibernateService;
public class LoginAction extends ActionSupport{
private String username;
private String password;
UserDao dao=new UserDao();
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 void validate()
{
if(username==null)
this.addFieldError("username", "USERNAME is required");
if(password==null)
this.addFieldError("password", "PASSWORD is required");
}
public String execute() throws Exception {
if(dao.find(getUsername(), getPassword()))
return SUCCESS;
else
{
this.addActionError("Invalid Username or Password");
return ERROR;
}
}
}
и я получаю сообщение об ошибке HTTP Status 404 — нет результата, определенного для действия action.Вход в систему и ввод результата.
Также я видел много решений этой проблемы, в которых говорится о добавлении этой второй строки, но все равно это не работает
Есть предложения?
Страница регистрации работает нормально.
Комментарии:
1. 1) Внедрение SQL в ваш DAO. 2)
username
иpassword
никогда не будет равен нулю после отправки формы с полями «имя пользователя» и «пароль». 3) Если есть результат с именем «ввод», вы не получите сообщение, которое получаете; убедитесь, что вы перезапустили, чтобы убедиться, что все изменения развернуты. И убедитесь, что вы повторно развертываете.2. Когда вам надоест выполнять перезапуски и повторные развертывания, начните с базового руководства, которое настраивает результаты в соответствии с вашей конфигурацией xml.