调试最开始出现的页面:
点击提交后出现的页面:
在第二个页面继续点击提交出现404错误这是写的类:
public class user_table extends ActionSupport implements Serializable{ /**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(length=30)
private String account;
@Column(length=30)
private String keyword;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
@Override
public void validate(){
if(account.equals("")){
addFieldError("account","必须输入用户名");
}else if(!Pattern.matches("\\w{13}", account)){
addFieldError("account","用户名必须是字母和数字的组合且长度为13");
}
if(keyword.equals("")){
addFieldError("keyword","必须输入用户密码");
}else if(!Pattern.matches("\\w{6,18}", keyword)){
addFieldError("keyword","密码必须是字母和数字的组合且长度在(6-18)范围内");
}
}
}
点击提交后出现的页面:
在第二个页面继续点击提交出现404错误这是写的类:
public class user_table extends ActionSupport implements Serializable{ /**
*
*/
private static final long serialVersionUID = 1L;
@Id
@Column(length=30)
private String account;
@Column(length=30)
private String keyword;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
@Override
public void validate(){
if(account.equals("")){
addFieldError("account","必须输入用户名");
}else if(!Pattern.matches("\\w{13}", account)){
addFieldError("account","用户名必须是字母和数字的组合且长度为13");
}
if(keyword.equals("")){
addFieldError("keyword","必须输入用户密码");
}else if(!Pattern.matches("\\w{6,18}", keyword)){
addFieldError("keyword","密码必须是字母和数字的组合且长度在(6-18)范围内");
}
}
}
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<package name="default" extends="struts-default">
<action name="Verification_code" class="action.verification_code">
<result type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
<action name="user_table" class="entity.user_table">
<result name="input">login.jsp</result>
<result>jspfile/sys_log.jsp</result>
</action>
</package>
</struts>
<result name="input">login.jsp</result>
<result>jspfile/sys_log.jsp</result>
</action>
问题出现在这里,你要重写execute方法,并为登陆失败配置跳转到login.jsp的试图。
<result type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
public String execute() throws Exception{
return SUCCESS;
}
@Override
public void validate(){
if(account.equals("")){
addFieldError("account","必须输入用户名");
}else if(!Pattern.matches("\\w{13}", account)){
addFieldError("account","用户名必须是字母和数字的组合且长度为13");
}
if(keyword.equals("")){
addFieldError("keyword","必须输入用户密码");
}else if(!Pattern.matches("\\w{6,18}", keyword)){
addFieldError("keyword","密码必须是字母和数字的组合且长度在(6-18)范围内");
}
}
<result name="input">login.jsp</result>
<result name="success">jspfile/login.jsp</result>
</action>
<action name="user_table" class="entity.user_table">
<result name="input">/login.jsp</result>
<result name="success">/jspfile/login.jsp</result>
</action>
<action name="user_table" class="entity.user_table">
<result name="input">/jspfile/login.jsp</result>
</action>