MySQL+DBUtils+C3P0+ Servlet+HTML完成Web端登陆验证案例实现
来源:互联网 发布:plc编程功能块 编辑:程序博客网 时间:2024/06/06 02:46
1.技术分析
Web客户端采用HTML编写布局文件,利用Form表单标签完成Http请求的提交。服务器采用Tomcat服务器,利用Servlet来处理Http请求,后台数据库采用MySQL数据库,利用DBUtils+C3P0来完成JDBC操作。
图1.1 案例架构
2.技术实现步骤
2.1后台数据库创建
1.创建数据库的SQL语句:CREATE DATABASE person;
2.选择指定的数据库:USE person;
3.创建数据库表用户表(Person表)
CREATE TABLE person(id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) ,
passworld VARCHAR(20) );
4.插入数据库的SQL语句:
INSERT INTO person(id,username,passworld) VALUES(1,'nuc','123');
INSERT INTO person(id,username,passworld) VALUES(2,'bupt','123');
图2.1 数据库建表情况
2.2 Web前端的布局代码
<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title><style>#username{width: 250px;}#password{margin-left: 16px;width: 250px;}</style></head><body><form action="http://localhost:8080/Web2/LoginServlet",method="post">用户名<input id="username", name="username",rrequired="true"/><br/>密码<input id="password" name="password",rrequired="true"//><br/><input type="submit",name",value="登陆"/><br/></form></body></html
图2-2 Web前端代码
2.3 服务器Servlet代码
public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{//1.设置发送数据的编码格式response.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");//2.获取请求报文中携带的数据Person person;String userName = request.getParameter("username");String password= request.getParameter("password");//3 利用DBUtils完成查询QueryRunner qr= new QueryRunner(C3P0Utils.getDataSource());String sqlString = "select * from person where username = ? and passworld=?";//String[] paramString = new String []{userName,password};//System.out.println(paramString[0]+paramString[1]);try {person =qr.query(sqlString, new BeanHandler<Person>(Person.class),userName,password);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();response.getWriter().write("登陆错误");System.out.println("登陆错误");throw new RuntimeException();}if(person!=null){System.out.println("登陆成功");response.getWriter().write("登陆成功");}else{System.out.println("账号密码错误");response.getWriter().write("账号密码错误");}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request,response);}}注1:Person是javaBean对象,其中具有id username passworld字段,设置了相应的无参/有参,get/set方法。注2:C3P0Utils是对C3P0代码的封装,以下是其具体实现:public class C3P0Utils {public static DataSource mDataSource;static{mDataSource = new ComboPooledDataSource();}public static Connection getConnection(){Connection connection;try {connection = mDataSource.getConnection();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();throw new RuntimeException();}return connection;}public static DataSource getDataSource(){return mDataSource;}}
2.4 在利用好Servlet完成Http响应的时候,需要配置Web.xml文件,用来设计Servlet对应Url,这里贴出LoginServlet对应Web.xml文件配置内容
<servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.butp.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping>
2.5 利用C3P0连接池的时候,同样需要填写配置文件,以下是配置文件的内容
<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <default-config> <property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/person</property><property name="user">root</property><property name="password">123</property><property name="initialPoolSize">5</property><property name="maxPoolSize">20</property> </default-config> <named-config name="oracle"> <property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/person</property><property name="user">root</property><property name="password">123</property> </named-config> </c3p0-config>
阅读全文
3 0
- MySQL+DBUtils+C3P0+ Servlet+HTML完成Web端登陆验证案例实现
- ajax+jsp+servlet+mysql实现登陆验证
- 登陆验证码(Servlet实现)
- JSP分页(MySql+c3p0+dbutils)
- Dbutils + C3P0实现oracle分页
- 通过servlet连接数据库和HTML,完成登陆注册
- jsp servlet 实现登陆验证码
- servlet 登陆注销案例
- jsp+servlet+JavaBean+MySQL实现登陆实例
- 利用web.config来实现登陆验证
- 利用web.config来实现登陆验证
- 用html+servlet实现的验证码
- node.js+mysql实现用户登陆验证
- Servlet实现带验证码登陆功能Demo
- jsp+servlet+jdbc实现简单的登陆验证
- 超详细servlet+jdbc+html+css实现后台管理登陆
- 【笔记】c3p0+dbUtils+Ajax+Json实现【增删改查】Demo
- C3P0组件+DbUtils组件实现一个JdbcUtils工具类
- MVP与MVC优缺点以及解决方法
- POJ-1019 Number Sequence(思维题)
- 简单叙述服务端如何维护一个session
- 【Java并发编程】原子变量
- Java Swing:进度条字体颜色修改
- MySQL+DBUtils+C3P0+ Servlet+HTML完成Web端登陆验证案例实现
- 如何阅读caffe源码
- Python Algorithms Learning Notes(1)--Asymptotic Notations
- linux下pip使用可能遇到的问题
- C++多态,虚函数作用及底层实现原理
- Codeforces Round #426 (Div. 2) C:The Meaningless Game(思维)
- UVa12186 Another Crisis
- verilog中defparam的用法
- 欢迎使用CSDN-markdown编辑器