为了一个javabean和jsp耽误时间
防止下次再忘记,记录一下。
文件结构:
l
login.html和login2.html都在WebContent下。myBean.java在包mypack里面。
1、这是html文件,action里面是jsp的路径。重点关注 input name="username"。username是参数名,用户输入的是参数值。
<html>
<head>
<title>helloapp</title>
</head>
<body >
<form name="loginForm" method="POST" action="login2.jsp">
<table>
<tr>
<td><div align="right">User Name:</div></td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><div align="right">Password:</div></td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="submit"></td>
</tr>
</table>
</form>
</body>
</html>
2、javabean类。
重点重点划重点:
- 构造方法一定是public类型
- 属性一定是private
- getXX和setXX,XX一定与属性一模一样。比如我这里,都是username。【这是为了从请求对象request里面提取相同参数名的参数值】
package mypack;
public class myBean {
public myBean(){}
private String username;
public String getusername() {return username;}
public void setusername(String name) {this.username=name;}
public boolean check() {
if(username.equals("hello")) {
System.out.println("欢迎宝贝~");
return true;
}
return false;
}
}
3、以下,是jsp文件。
class一定是包名.类名 setProperty是为将request请求中参数提取出来,具体看这个
jsp标签jsp:setProperty用法_Wanghaishanren的博客-CSDN博客_js setproperty
*就代表request中所有的参数名和javabean类中的属性名一样的都提出来。
name是指提哪个javabean,笔者这里就定义了一个bean对象。唯一标识id=“userinfo”
<jsp:useBean id="userinfo" scope="page" class="mypack.myBean"></jsp:useBean>
<jsp:setProperty name="userinfo" property="*"/>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1"%>
<!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=UTF-8">
<jsp:useBean id="userinfo" scope="page" class="mypack.myBean"></jsp:useBean>
<jsp:setProperty name="userinfo" property="*"/>
<title>Insert title here</title>
</head>
<body>
<%if(userinfo.check()){
out.print("welcome,baby.");
}else{
out.print("gun dan.");
}
%>
</body>
</html>