双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

关于一个简单struts的应用,新人求指教!

tikyo772 tikyo772 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
是一个关于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>

...全文
评论 6
收藏 已收藏
分享
返回顶部
tikyo772
Web 开发 81,108 成员 341,721 内容