Servlet 实现登录与注册

本文介绍了如何利用Servlet技术进行用户注册与登录的功能实现。通过Servlet处理HTTP请求,结合HTML页面,实现用户信息的录入与验证。配置了web.xml文件以完成相关功能设置。

注册就是加入一个实体,而登陆就是已注册的信息进行验证的过程。

代码内嵌在HTML页面中

web.XML部分配置



Servlet1.java(Servlet)
Public class Servlet1 extends HttpServlet{
Public Servlet(){
Super();
}
Public void doGet(HttpServletRequest request , HttpServletResponse response) throws ServletException , IOException{
response.setCharacterEncoding(“utf-8”);
response.setContentType(“html/text”);
PrintlnWriter out=response.getWriter();
out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("<BODY>");
		out.println("  this is");
		out.println(this.getClass());
		out.println(" ,using the GET methed!");
		out.println("<br>");
		
		out.println("注册<br>");
		out.println("<form action='Register'>");
		out.println("姓名:<input type='text' name='name' />");
		out.println("<br/>");
		out.println("密码:<input type='text' name='pass' />");
		out.println("<br/>");
		out.println("      ");
		out.println("      ");
		out.println("<input type='submit' value='Register' />");
		out.println("      ");
		out.println("<input type='reset' value='reset' />");
		out.println("<br/>");
		out.println("</form>");
		out.println("登录<br>");
		
		out.println("<form action='Login'>");
		out.println("姓名:<input type='text' name='name' />");
		out.println("<br/>");
		out.println("密码:<input type='text' name='pass' />");
		out.println("<br/>");
		out.println("      ");
		out.println("      ");
		out.println("<input type='submit' value='Login' />");
		out.println("      ");
		out.println("<input type='reset' value='reset' />");
		out.println("<br/>");
		out.println("</form>");
		
		
		out.println(" </BODY>");
		out.println(" </HTML>");
		out.flush();
		out.close();
}
}
Action指向另外的Servlet(XML配置中的<URL-pattern>),
对应的文本如name,pass,在以下的Servlet中调用时通过request对象的getParameter( )方法中进行调用。
Login.java(Servlet)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setCharacterEncoding("utf-8");
	 	response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("<BODY>");
		out.println("  this is");
		out.println(this.getClass());
		out.println(" ,using the GET methed!");
		out.println("<br>");
		
		String name = request.getParameter("name");
		String pass = request.getParameter("pass");
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			String url="jdbc:mysql://192.168.1.137/test";
			Connection con=DriverManager.getConnection(url,"mydata","123");
			Statement stmt=con.createStatement();
			String sql = "select * from AUser where name='"+name+"'and pass='"+pass+"';";
			
			System.out.println("sql:"+sql);
			
			ResultSet rs = stmt.executeQuery(sql);
			
			if(rs.next()){
				System.out.println("login seccess");
			}else{				
				response.sendRedirect("Four");//跳转指令,跳向XML配置中 URL-pattern的Four
			}
			stmt.executeUpdate(sql);
			stmt.close();
			con.close();
			
		}catch(Exception e){
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
		
		out.println(" </BODY>");
		out.println(" </HTML>");
		out.flush();
		out.close();
	}

Register.java(Servlet)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setCharacterEncoding("utf-8");
	 	response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("<BODY>");
		out.println("  this is");
		out.println(this.getClass());
		out.println(" ,using the GET methed!");
		out.println("<br>");
		
		String name = request.getParameter("name");
		String pass = request.getParameter("pass");
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			String url="jdbc:mysql://192.168.1.137/test";
			Connection con=DriverManager.getConnection(url,"mydata","123");
			Statement stmt=con.createStatement();
			String sql = "insert into AUser (name,pass) values('"+name+"','"+pass+"');";
			stmt.executeUpdate(sql);
			stmt.close();
			con.close();
			System.out.println(sql);
			response.sendRedirect("Four");
		}catch(Exception e){
			System.out.println(e.getMessage());
			e.printStackTrace();
		}
		
		out.println(" </BODY>");
		out.println(" </HTML>");
		out.flush();
		out.close();	
	}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值