关于一个简单struts的应用,新人求指教!
是一个关于struts流程的简易程序
一个登录页面,收集登录信息到loginActionForm 由loginAction处理(单纯的equals) 成功到 login_success.jsp页面,失败到login_error.jsp页面
1 环境配置搭建的应该没问题,我用源代码导入测试过了
2 本菜鸟写的真的和源代码几乎一模一样啊,个人觉得取值,数据流向应该不存在问题吧,请高手看看
3 login.jsp 页面的form里 属性不用写 name吗? 如果写是用于什么的?
4 jsp页面上的contentType="text/html 属性有个取代的 import"util"什么的,是什么意思?
5 问题大概就在action的逻辑判断那一句了 :
if(username.equals("111")&&password.equals("111")) 用这样的会报很多的错
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
if("admin".equals(username) && "admin".equals(password)) 改用源代码的判断,不会出错,但是一直都是转向失败页面
用单纯的3>1等判断完全没问题,所以问题是页面取值,还是equals方法呢? 求高手指教!
PS :不知道排版好不好,这么多东西麻烦各位了,新人在家实在没办法,积分也不多,请各位包含
login.jsp 页面
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<form action="login.do" method="post">
用户:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录" >
</form>
</body>
</html>
loginActionForm.java
package com.javass.struts;
import org.apache.struts.action.ActionForm;
public class loginActionForm extends ActionForm {
private String username;
private String password;
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;
}
}
loginAction.java
package com.javass.struts;
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;
public class loginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
loginActionForm loginform=new loginActionForm();
String username=loginform.getUsername();
String password=loginform.getPassword();
if(username.equals("111")&&password.equals("111")){
return mapping.findForward("success");
}else{
return mapping.findForward("error");
}
}
}
struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.javass.struts.loginActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/login"
type="com.javass.struts.loginAction"
name="loginForm"
scope="request"
>
<forward name="success" path="/login_success.jsp"></forward>
<forward name="error" path="/login_error.jsp"></forward>
</action>
</action-mappings>
</struts-config>