通过继承HttpServlet开发一个用户登录界面

首先先完成用户登录界面.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]+"&nbsp");
	            }
			
		}
		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原封不动地传递回去

当然完成这些的前提是tomcat和service都部署好的情况下,出现404是因为url没有写对,可以打开xml看看自己的逻辑链接有无问题

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值