web项目.注册及登陆
2015-07-23 21:26
435 查看
注册与登陆
注册:
首先 需要新建web项目,对数据库操作的服务(与需求有关),模型(与数据库表有关),工具包(DBOperator).
servlet 的类用来从前台活取数据,选择要做的事情,然后判断重定向到何处.
主要是doPost方法,和doGet方法
设置编码
request.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
从前台活取数据
String name = request.getParameter("name");
String pwd = request.getParameter("password");
也即从传过来的参数获取数据
将数据写入数据库
user usr = new user();
usr.setName(name);
usr.setPassword(pwd); //建立数据库模型对象即学生对象
StuManager stuM = new StuManagerimplement();//管理数据库
boolean flag=false; //标志,是否成功写入
flag = stuM.add(usr); //注意异常的处理,此处可能抛出异常.
跳转页面(重定向)
response.sendRedirect("index.jsp");
登陆:流程基本类似:
从前台活取数据,
传入数据库管理方法,并且在管理方法内返回是否登陆成功的标志.
根据返回的标志,通过servlet 判断重定向到制定页面.
代码如下:
DBOperator.java 略
stuManagerImplement.java
servlet 程序
register.java
View Code
注册:
首先 需要新建web项目,对数据库操作的服务(与需求有关),模型(与数据库表有关),工具包(DBOperator).
servlet 的类用来从前台活取数据,选择要做的事情,然后判断重定向到何处.
主要是doPost方法,和doGet方法
设置编码
request.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
从前台活取数据
String name = request.getParameter("name");
String pwd = request.getParameter("password");
也即从传过来的参数获取数据
将数据写入数据库
user usr = new user();
usr.setName(name);
usr.setPassword(pwd); //建立数据库模型对象即学生对象
StuManager stuM = new StuManagerimplement();//管理数据库
boolean flag=false; //标志,是否成功写入
flag = stuM.add(usr); //注意异常的处理,此处可能抛出异常.
跳转页面(重定向)
response.sendRedirect("index.jsp");
登陆:流程基本类似:
从前台活取数据,
传入数据库管理方法,并且在管理方法内返回是否登陆成功的标志.
根据返回的标志,通过servlet 判断重定向到制定页面.
代码如下:
DBOperator.java 略
stuManagerImplement.java
package cn.hpu.service; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import cn.hpu.model.user; import cn.hpu.util.DBOperator; public class StuManagerimplement implements StuManager { @Override public boolean add(user usr) { // TODO Auto-generated method stub boolean flag=false; Connection con =null; PreparedStatement pst=null; String sql=null; try { con=DBOperator.getConnection(); // System.out.println("YES"); // if(con!=null) System.out.println("OKOKO"); sql = "insert into user (name,password) values(?,?)"; pst = con.prepareStatement(sql); pst.setString(1, usr.getName()); pst.setString(2, usr.getPassword()); int rows = pst.executeUpdate(); if(rows>0) flag =true; } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("insert exception !"); e.printStackTrace(); }finally{ DBOperator.close(pst, con); } return flag; } @Override public boolean check(String name, String psw) { // TODO Auto-generated method stub //sql语句指针变量的声明 boolean flag =false ; Statement st=null; ResultSet rt = null; user usr=new user(); String sql=null; Connection con = null; try { con = DBOperator.getConnection(); //查询 sql ="select * from user where name="+name; st= con.createStatement(); rt = st.executeQuery(sql); // System.out.println(rt.getString("name")); if(rt.next()) { usr.setName(rt.getString("name")); usr.setPassword(rt.getString("password")); } System.out.println(usr.getName()+usr.getPassword()); String str = usr.getPassword(); if(psw.equals(str)) flag =true; //验证 } catch (Exception e) { // TODO: handle exception System.out.println("check exception !"); }finally { DBOperator.close(rt, st, con); //关闭 } return flag; } }
servlet 程序
register.java
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>恭喜登录成功!!</h1> </body> </html>
View Code
相关文章推荐
- poj2255 (二叉树遍历)
- 编译修改过的felix失败记录
- 009语音识别-华为机试题目
- crossApp初级-开发环境-1
- Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图
- ZABBIX企业监控实践(2):升级与配置Apache
- #1077 : RMQ问题再临-线段树
- 股票学习(K线分析)
- CODEVS1033
- Codeforces Gym 100513G G. FacePalm Accounting
- linux运维学习方法
- POJ 1222-EXTENDED LIGHTS OUT(高斯消元求解异或方程组)
- C语言(1)--解一元二次方程、将整数第五位清零、说谎、放鞭炮
- 7,鼠标学习四-滚轮
- C++Primer(第五版) 习题答案
- dwz分页组件中,一个奇怪的翻页问题的解决
- 2015第30周四Java日志组件
- 如何查看是否被肉鸡
- 计蒜客---加一
- [POJ3897] Maze Stretching (二分)(A*)