一。首先是对表的创建。
create table userinfo(name varchar2(12))
一个简单的方便的方法。insert into userinfo values(&a,'&b','&c');
这样写有利于方便更改。
二、首先做一个登陆界面
新建一个html。在body里添加如下代码
<form action='/userinfo/servlet/Login' name='form1' method='get'>
用户:<input type='text' name='username'><br>
密码:<input type='password' name='password'><br>
<input type='submit' values=‘登陆’>
</form >
三。一些类的定义实现
1。因为用的是doget方法,我们新建一个login类,完成判断用户是否能登陆,在dopost里调用doget方法。
由于java类要和表建立一定的连接。所以我们另写一个类。public class userinfo 定义私有变量,与表里的数据名相同
在dopost方法里,我们要判断用户名是否存在且可以登陆,我们要调用一个方法Userinfoservice。用它来判断,但在这个类里,定义一个Login方法,里面要要用到dbutils类和userinfodao类
在dbutils中。加载了配置文件。不过没太理解他的意思
public Properties loadProperties(){
Properties p=new Properties();//创建一个Properties 对象
try {
p.load(this.getClass().getResourceAsStream("init.properties"));//这句是干么的啊加载数据库文件
} catch (IOException e) {
System.out.println("在家在配置文件时出错了");
e.printStackTrace();
}
return p;
}
还有一个配置文件init。properties为了方便管理
调用方法 u.setname(request.getparameter("username"))---获取控件的值并传到封装到映射类的对象中
1.1 request.getRequestDispatcher()是请求转发,前后页面共享一个request。
1.2 而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。
1.3content="3;URL=/Userinfo/index.html">表示使页面隔三秒后在自动跳转到某一个页面