Servlet实战(一)---账户登录

Servlet学习入门的第一个例子

环境 MyEclipse10.0+Tomcat7.0+Postgresql9.1

效果

              

代码:

LoginServlet.java

<pre name="code" class="java">import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
/*
 * Servlet for Login
 * @zm   2014-7-31
 */
@SuppressWarnings("serial")
public class LoginServlet extends HttpServlet{
private String url;
private String user;
private String password;
	public void init()throws ServletException{
		String driverClass = "org.postgresql.Driver";
		url = "jdbc:postgresql://localhost:5432/student";
		user = "postgres";            //默认用户名
		password = "******";          //数据库密码
		try{
			Class.forName(driverClass);
		}
		catch(ClassNotFoundException ce){
		    throw new UnavailableException("加载数据库驱动失败!");
		}
	}
	public void doGet(HttpServletRequest req,HttpServletResponse resp){
		resp.setContentType("text/html;charset=gb2312");
		String name = req.getParameter("name");
		String id = req.getParameter("id");
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try{
			conn = DriverManager.getConnection(url, user, password);
			stmt = conn.createStatement();
			String sql = "select * from students where id = "+"'"+id+"'"+"and name ="+"'"+name+"'";
			rs = stmt.executeQuery(sql);
			if(rs.next()){
				PrintWriter out = resp.getWriter();
				out.println("Welcome : "+name);
			}else{PrintWriter out = resp.getWriter();
			      out.println("姓名或id输入错误!");}
		}catch (Exception e) {
			e.printStackTrace();
		}
		finally{
			if(stmt!=null){
				try{stmt.close();}
				catch(SQLException se){se.printStackTrace();}
				stmt = null;
			}
			if(conn!=null){
				try{conn.close();}
				catch(SQLException se){se.printStackTrace();}
				conn = null;
			}
		}
	}

	public void doPost(HttpServletRequest req,HttpServletResponse resp){
		doGet(req,resp);
	}
}

SignUp.java

import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
/*
 * Servlet for 用户注册
 * @zm  2014-7-31
 */
@SuppressWarnings("serial")
public class SignUpServlet extends HttpServlet{
private String url;
private String user;
private String password;
//加载数据库
	public void init()throws ServletException{
		String driverClass = "org.postgresql.Driver";
		url = "jdbc:postgresql://localhost:5432/student";
		user = "postgres";
		password = "*******";
		try{
			Class.forName(driverClass);
		}
		catch(ClassNotFoundException ce){
		    throw new UnavailableException("加载数据库驱动失败!");
		}
	}
	public void doGet(HttpServletRequest req,HttpServletResponse resp){
		resp.setContentType("text/html;charset=gb2312");
		String name = req.getParameter("name");
		String id = req.getParameter("id");
		Connection conn = null;
		Statement stmt = null;
		try{
			conn = DriverManager.getConnection(url, user, password);
			stmt = conn.createStatement();
			String sql = "insert into students (id,name) values ('"+id+"','"+name+"')";
			stmt.executeUpdate(sql);
			resp.sendRedirect("Login.html");
		}catch (Exception e) {
			e.printStackTrace();
		}

		finally{
			if(stmt!=null){
				try{stmt.close();}
				catch(SQLException se){se.printStackTrace();}
				stmt = null;
			}
			if(conn!=null){
				try{conn.close();}
				catch(SQLException se){se.printStackTrace();}
				conn = null;
			}
		}
	}

	public void doPost(HttpServletRequest req,HttpServletResponse resp){
		doGet(req,resp);
	}
}

登陆界面Login.html

<html>
  <head>
    <title>ZM的登陆网页!</title>
  </head>

  <body>
    <form action="Login" method="post">
  <table>
  <tr>
     <td>请输入id: </td>
     <td><input type="password" name="id"></td>
  </tr>
  <tr>
     <td>请输入用户名: </td>
     <td><input type="text" name="name"></td>
  </tr>
  <tr>
     <td><input type="reset" name="重填"> </td>
     <td><input type="submit" name="登录"></td>
     <td><input type="button" value="注册" onclick="javascrtpt:window.location.href='SignUp.html'"><td>
  </tr>
  </table>
    </form>
  </body>
</html>

注册界面SignUp.html

<html>
  <head>
    <title>用户注册</title>
  </head>

  <body>
    <form action="SignUp" method="post">
  <table>
  <tr>
     <td>请输入id: </td>
     <td><input type="password" name="id"></td>
  </tr>
  <tr>
     <td>请输入用户名: </td>
     <td><input type="text" name="name"></td>
  </tr>
  <tr>
     <td><input type="reset" name="重填"> </td>
     <td><input type="submit" name="注册"></td>
  </tr>
  </table>
    </form>
  </body>
</html>

部署文件web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>
  <servlet>
      <servlet-name>ZM</servlet-name>
      <servlet-class>LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>ZM</servlet-name>
      <url-pattern>/Login</url-pattern>
  </servlet-mapping>
  <servlet>
      <servlet-name>ZM1</servlet-name>
      <servlet-class>SignUpServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>ZM1</servlet-name>
      <url-pattern>/SignUp</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

1.访问数据库注意加载JDBC驱动程序  postgresql-9.1-901-1.jdbc4.jar

2.数据库创建连接Connection conn = DriverManager.getConnection(url, user, password);

URL=协议名+IP地址(域名)+端口+数据库的名称

  jdbc:postgresql://localhost:5432/student

用户名和密码是指登陆数据库时所使用的用户名和密码。

3.数据库注意打开服务。

4.入门不宜直接使用myEclipse部署,自己手动部署了解过程才好。

Servlet实战(一)---账户登录,布布扣,bubuko.com

时间: 2024-08-24 17:06:55

Servlet实战(一)---账户登录的相关文章

Unit04: 实战技巧 、 登录

Unit04: 实战技巧 . 登录 使用注解方式简化Unit04的小程序. 1. 基于注解的springmvc应用程序的开发 (1)编程步骤 step1. 导包. step2. 添加spring配置文件. step3. 配置DispatcherServlet. step4. 写Controller. a. 不用实现Controller接口了. b. 可以添加多个方法. c. 方法名不做要求,返回类型可以是ModelAndView,也可以String. d. 使用@Controller注解.(不用

简单使用JDBC和Servlet实现用户注册和登录功能

简单的浏览了一下Servlet和JDBC方面的知识,于是写了一下简单使用JDBC和Servlet实现用户注册和登录功能,具体实现如下: 一.大体的编码思路 1.1.注册功能 获取注册页面提交的username.password和repeatPassword: 判断password和 repeatPassword是否一致,一致就继续执行程序,不一致则结束程序: 遍历数据库中tb_user,查看数据库中是否存在username,存在则结束程序,不存在则继续进行程序,实现注册功能: 1.2.登录功能

监控账户登录

对于有很大权限的账户,比如域管理员账户我们希望能够实时监控他的登录情况.如果账户被他人盗取,我们在第一时间就判断是正常使用还是他人盗取后使用的. 这里介绍一种不借助第三方工具就能简单实现的邮件监控账户登录的方法. 首先,打开安全日志,找到用户登录的日志.在Windows 2012 R2中记录的日志是4626.其中记录了用户名,登录的客户端. 接下去就要新建计划任务了. 在触发器这里选择发生事件时,并选择自定义然后新建事件筛选器.然后再XML选项卡中勾选,手动编辑查询.然后贴入以下代码: <Que

账户登录简版

static void Main(string[] args) { const string UN = "admin"; const string PW = "123456"; string usename, password; int i=0; while (i <=3) { Console .WriteLine ("请输入用户名:"); usename=Console .ReadLine (); Console .WriteLine (

Servlet学习(三)Servlet编程实例-网站登录(修改版-增加数据库-附源码)

我们为刚才的那个示例Servlet学习(二)Servlet编程实例-网站登录添加上数据库,组成一个较为完整的登录功能. 在开始之前我们得首先了解下一些常用的java术语: PO(persistant object) 持久对象 在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了. 通常对应数据模型(数据库),本身还有部分业务逻辑的处理. 可以看成是与数据库中的表相映射的java对象. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合. PO中应该不包含

office2013关闭登录账户登录功能

本人电脑内存升级到了8G,因此重装了win7-64位操作系统,第一步就安装了最新的office2013. 使用office2013,每次打开office文件(word.Excel.ppt等)后,都出现登录. 说实在的,中国目前还是使用盗版软件居多,这也造成了大家喜欢使用绿色版.破解版软件.office2013的账户登录,对于大多人可能显得有些多余. 如何去除这个登录呢? 打开运行/win+r 输入regedit,点击确定 进入HKEY_CURRENT_USER\Software\Microsof

jsp实现账户登录、注册!

jsp连接mysql数据库进行账户登录验证和账户注册 ~jsp: Login.jsp .LoginCl.jsp.Welcome.jsp.Register.jsp.login.css login.css: #c1{ border-style:solid; border-width:5px; background-color:#ffe4c4; text-align:center; hight:300px; width:500px; padding:5px; }#c2{ background-imag

mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user &#39;mhz&#39;@&#39;localhost&#39; (using password: YES)

mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user 'mhz'@'localhost' (using password: YES) 解决方法: 创建两个相同名的账号,一个主机名为:localhost,一个为:%,如下: 之后,该问题决绝. 同一个账户 要同时存在%帐号或者localhost帐号时, %帐号才起作用 mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user

Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.henu.bean(User.java 用户数据库操作)和cn.edu.henu.util(DBConnection.java 数据库的连接操作)这两个包 <?xml version="1.0" encoding="UTF-8"?> <web-app x