JSP_tomcat_mysql_注冊验证用户;

本文出自:http://blog.csdn.net/svitter

资源下载:

github:

git clone https://github.com/Svtter/JSP-tomcat-mysql

我把注冊和登陆写在一个Servlet处理里面了。一个用get,一个用post,这是不对的。

以后有时间改正吧。。假设单纯为了作业能够提交这个。

get和post简单来说差别就在于post更加安全。

能够详细查一查。。

使用了servlet:

web.xml:

<?

xml version="1.0" encoding="UTF-8"?

>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>JSP_servlet_javabean</display-name>
	<servlet>
		<description>配置用於用戶登錄的Servlet</description>
		<display-name>LoginServlet</display-name>
		<servlet-name>LoginServlet</servlet-name>
		<servlet-class>LoginServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>LoginServlet</servlet-name>
		<url-pattern>/LoginServlet</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
    	<welcome-file>login.html</welcome-file>
  	</welcome-file-list>
</web-app>

四个java文件:

LoginServlet.java://用于验证:

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.ConnectionBean;
import bean.userBean;

/**
 * @author Svitter
 *
 */
@SuppressWarnings("serial")
public class  LoginServlet extends HttpServlet {
	userBean user =  new userBean();
	ConnectionBean connBean = new ConnectionBean();
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String checkLogin;
		String username = request.getParameter("login");
		String password = request.getParameter("password");
		checkLogin = connBean.checkUser(username, password);
		if(checkLogin.equals("Success")) {
			user.setUserName(username);
			request.setAttribute("user", user);
			getServletConfig().getServletContext().getRequestDispatcher("/loginsuccess.jsp").forward(request, response);
		} else {
			request.setAttribute("checkLogin", checkLogin);
			getServletConfig().getServletContext().getRequestDispatcher("/loginCheck.jsp").forward(request, response);
		}
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException{
		String username = request.getParameter("login");
		String password = request.getParameter("password");
		connBean.addUser(username, password);
		getServletConfig().getServletContext().getRequestDispatcher("/login.html").forward(request, response);
	}
}

bean.GetConnection.java://用于连接数据库。数据库配置文件property.conf

package bean;
import java.io.*;
import java.util.Properties;
import java.sql.*;
public class GetConnection {
	private static Properties p;
	static{
		try{
			p = new Properties();
			InputStream is = GetConnection.class.getResourceAsStream("property.conf");
			p.load(is);
			is.close();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	public static String getProperty(String key){
		return p.getProperty(key);
	}
	static String driver = GetConnection.getProperty("driver");
	static String url = GetConnection.getProperty("url");
	static  String name = GetConnection.getProperty("user");
	static String pass = GetConnection.getProperty("password");
	static{
		try{
			Class.forName(driver);
		}catch(ClassNotFoundException e){
			e.printStackTrace();
		}
	}
	public static Connection getConnection() throws SQLException {
		return DriverManager.getConnection(url, name, pass);
	}
}

property.conf:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/users
user=root
password=root

bean.ConnectionBean.java://用于数据库操作

package bean;

import java.sql.*;

public class ConnectionBean {
	private Connection con;
	public ConnectionBean() {
		try{
			con = GetConnection.getConnection();
		} catch (Exception e){
			e.printStackTrace();
		}
	}
	//向数据库加入信息
	public boolean addUser(String name, String password){
		try{
			PreparedStatement pstmt = con.prepareStatement("insert into ur(name, passwd) values(?

,?

)");
			pstmt.setString(1, name);
			pstmt.setString(2, password);
			pstmt.execute();
			return true;
		} catch (Exception e){
			e.printStackTrace();
			return false;
		}
	}
	public ResultSet getUser(String name){
		try {
			Statement stm = con.createStatement();
			ResultSet result = stm.executeQuery("select * from ur where name='"+name+"'");
			return result;
		} catch (Exception e){
			e.printStackTrace();
			return null;
		}
	}
	public String checkUser(String name, String passwd){
		String checkUser=null;
		try{
			Statement stm = con.createStatement();
			ResultSet result = stm.executeQuery("select * from ur where name='"+name+"'");
			if(result.next()==false){
				checkUser = "No user";
			}
			else{
				if(result.getString("passwd").equals(passwd)){
					checkUser = "Success";
				}
				else{
					checkUser = "Wrong passwd";
				}
			}
		}catch (Exception e){
			e.printStackTrace();
		}
		return checkUser;
	}
}
时间: 2024-11-23 21:10:07

JSP_tomcat_mysql_注冊验证用户;的相关文章

YII用户注冊和用户登录(三)之模型中规则制定和分析

3 模型中规则制定和分析 YII模型主要分为两类,一个数据模型,处理和数据库相关的增删改查.继承CActiveRecord.还有一个是表单模型,继承CFormModel.不与数据库进行交互.操作与数据模型保持一致. 先分析数据模型: 数据模型基本包括四个方法.这里有两个须要注意的地方: 1 还记得视图中有确认password选项吗?数据库中没有这一个字段,不进行处理的话.程序会报错 处理方法:声明这样变量,并将这个变量进行label映射 例如以下: public $password2; // /

怎样利用WordPress创建自己定义注冊表单插件

来源:http://www.ido321.com/1031.html 原文:Creating a Custom WordPress Registration Form Plugin 译文:创建一个定制的WordPress插件注冊表单 译者:dwqs 开门见山,WordPress提供了一个自己定义的注冊表单供新用户使用,或者当加入一个新用户到已经存在的WordPress网站. 可是假设你想实现一个自己定义的注冊表单而没有显示WordPress仪表盘的选项呢? 在这篇文章中.我们将学会怎么使用标签模

struts2学习笔记(三)—— 在用户注冊程序中使用验证框架

实现目标: 1.使用验证框架对用户注冊信息进行验证 2.验证username.password.邮箱不能为空 3.验证username.password长度 4.验证邮件地址格式 详细实现 一.Struts2应用的基础配置 这里不做具体阐述,具体为web.xml.相关jar包的配置 二.将页面显示的文本内容放到资源文件里 1.查看用户注冊程序中的全部页面,找到全部能够显示的文本内容,将它们分离出来放到资源文件里. 2.与相关的Action类同名,以.preperties为扩展名,与Action类

error MSB8011: 未能注冊输出。请尝试启用“逐用户重定向”

初试MFC就遇到困难了.vs2010创建一个MFC ActiveX控件项目. 什么都还没做呢,就出现故障了? 郁闷呀.! ! 1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(732,5): warning MSB3075: 命令"regsvr32 /s "E:\MFC\Demo\Debug\Demo.ocx""已退出.代码为 5. 请验证您是否有足够的权限来执行

YII用户注冊表单的实现熟悉前台各个表单元素操作方式

模还是必须定义两个基本方法.还有部分label标签映射为汉字,假设进行表单验证,还要定义一些验证规则: <? php /* * 用户模型 * */ class user extends CActiveRecord{ //获得数据模型 public static function model($classname = __CLASS__){ return parent::model($classname); } //定义数据表名字 public function tableName(){ retu

基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)

近期看老罗视频,做了一个简单的用户注冊系统.用户通过网页(JSP)输入用户名.真名和password,Servlet接收后通过JDBC将信息保存到MySQL中.尽管是个简单的不能再简单的东西,但麻雀虽小,五脏俱全,在此做一归纳和整理.以下先上源代码: 一.index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String

JSP_tomcat_mysql_注册验证用户;

本文出自:http://blog.csdn.net/svitter 资源下载: github: git clone https://github.com/Svtter/JSP-tomcat-mysql 使用了servlet: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

表单验证(登录/注冊)

登录,注冊是我们使用的较多的表单认证,每一个项目都从头開始写,显然是没有必要的.以下和大家分享下我所写的表单验证: 以下的代码,会附上完整代码.使用的过程中.仅仅须要依据自己的项目进行简单的改动就可以,很方便. 此表单认证使用了jquery,如您须要原生的JS,改写起来,也是很方便的. 请看效果图: <!doctype html> <html lang="en"> <head> <!--站点编码格式.UTF-8 国际编码,GBK或 gb2312

Android实战简易教程-第二十三枪(基于Baas的用户注冊和登录模块实现!)

接着上两篇文章.我们基于Bmob提供的API实现用户登录功能.总体看一下代码. 1.注冊页面xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layou