首先先完成用户登录界面.html部分代码
如下代码,这里用到了一个新的网页编辑脚本语言,我们最主要了解的是它的“td input”这部分是提交表单的一个指令<td class="controler"><input type="password" name="mypassword" ></td>
例如这段代码的意思便是显示一个类型为password的表单,提交的类型(type)也就是密码格式,也有text形式,这个具体的见W3Cschool,如果觉得麻烦可以用adobe公司的DW来完成前端的开发。
<h1>用户注册</h1>
<hr>
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form name="regForm" action="servlet01" method="post" >
<table border="0" width="800" cellspacing="0" cellpadding="0">
<tr>
<td class="lalel">用户名:</td>
<td class="controler"><input type="text" name="username" /></td>
</tr>
<tr>
<td class="label">密码:</td>
<td class="controler"><input type="password" name="mypassword" ></td>
</tr>
<tr>
<td class="label">确认密码:</td>
<td class="controler"><input type="password" name="confirmpass" ></td>
</tr>
<tr>
<td class="label">电子邮箱:</td>
<td class="controler"><input type="text" name="email" ></td>
</tr>
<tr>
<td class="label">性别:</td>
<td class="controler"><input type="radio" name="gender" checked="checked" value="Male">男<input type="radio" name="gender" value="Female">女</td>
</tr>
<tr>
<td class="label">出生日期:</td>
<td class="controler">
<input name="birthday" type="text" id="control_date" size="10"
maxlength="10" onclick="new Calendar().show(this);" readonly="readonly" />
</td>
</tr>
<tr>
<td class="label">爱好:</td>
<td class="controler">
<input type="checkbox" name="favorite" value="nba"> NBA
<input type="checkbox" name="favorite" value="music"> 音乐
<input type="checkbox" name="favorite" value="movie"> 电影
<input type="checkbox" name="favorite" value="internet"> 上网
</td>
</tr>
<tr>
<td class="label">自我介绍:</td>
<td class="controler">
<textarea name="introduce" rows="10" cols="40"></textarea>
</td>
</tr>
<tr>
<td class="label">接受协议:</td>
<td class="controler">
<input type="checkbox" name="isAccept" value="true">是否接受条款
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="注册"/>
<input type="reset" value="取消"/>
</td>
</tr>
</table>
</form>
一定要注意action后填的是一个url,这个url必须指向你即将写的servlet文件,并且如果你在servlet中用的是post方法method后就加post
这里是你要进行控制判断登陆的servlet文件
package demo1;
//这里是要通过实现继承httpservlet来开发动态网页所需要导入的包
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/servlet01")
public class servlet01 extends HttpServlet {
private static final long serialVersionUID = 1L;
public servlet01() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//这里使用了doget的方法,doget方法,这个方法中又传入了两个对象一个是request,一个是response
//这里用到了接口,数据以方法参数的形式传递;
request.setCharacterEncoding("utf-8");
//接收的文本汉化方案
response.setContentType("text/html;charset=gb2312");
//发送的文本汉化方案
String[] favorite = request.getParameterValues("favorite");
//复选框部分方法,用字符数组来记录喜爱
String aaa= request.getParameter("username");
//用字符串方法来记录用户名,密码这里用了request中一个重要的方法
//getParameter方法
String bbb= request.getParameter("mypassword");
String ccc= request.getParameter("gender");
if("qinshiwei".equals(aaa)&&"123456".equals(bbb)) {
//这里用了response中一个getWriter方法
response.getWriter().write("账号是:"+aaa);
response.getWriter().write("<br/>");
response.getWriter().write("密码是:"+bbb);
response.getWriter().write("<br/>");
response.getWriter().write("性别为:"+ccc);
response.getWriter().write("<br/>");
response.getWriter().write("爱好为:");
for (int i=0; favorite!=null && i<favorite.length; i++){
response.getWriter().write(favorite[i]+" ");
}
}
else{
response.getWriter().write("密码错误或账号错误".toString());
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
这个文件主要实现跳转判断控制,其中主要用了继承httpservlet所传进来的doget和dopost方法,这两种方法都是进行传值的方法,但是不同的是doget方法使用明文传输(也就是传输通过url,传递的表单里的值也都在url中)这种方法很不安全,而dopost方法是用文本的形式进行传输,这两种方法都传入了两个对象
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
这段话中的request和response都是新实例化的对象,
String bbb= request.getParameter("mypassword");
request中的getParameter方法主要是从用户端得到表单的信息,并把这个信息赋值给bbb
response.getWriter().write("密码是:"+bbb);
response中的getWriter方法是将服务器处理后的值传递给客户端,这里把bbb原封不动地传递回去