Servlet实现简单的登录页面
package emp; import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import util.DBUtil; public class EmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private Connection conn;
private PrintWriter pw;
private String username1;
private String password1; protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { } protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置解码所使用的字符集,注意要与客户端保持一致
request.setCharacterEncoding("utf-8");
//告诉浏览器,服务器返回的数据类型和编码格式(通过设置content-type消息头的值)
response.setContentType("text/html;charset=utf-8");
//调用request对象提供的方法来读取请求参数值
String name = request.getParameter("username");
String passw = request.getParameter("password");
try {
//使用JDBC工具类来获取Connection对象
conn = DBUtil.getConnection();
//通过response(响应对象)获得一个输出流
pw = response.getWriter();
String sql = "select username,password from user_zyd where username=?";
PreparedStatement ps = conn.prepareStatement(sql);
//给sql赋值
ps.setString(1, name);
//查询返回的结果集(是一个集合)
ResultSet rs = ps.executeQuery();
while (rs.next()) {
//获取用户查询数据库的内容
username1 = rs.getString("username");
password1 = rs.getString("password");
System.out.println(username1);
System.out.println(password1);
//判断用户查询的内容是否正确
}
if (username1==null) {
pw.println("用户名或密码错误");
} else if(username1.equals(name) & password1.equals(passw)){
pw.println("用户名或密码错误");
} else {
pw.println("登陆成功");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(conn);
pw.close();
}
}
}
//db.properties
# connection parameters
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
user=system
password=123456
# datasouce parameters
initSize=1
maxSize=2 //DBUtil
package util; import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; public class DBUtil {
private static BasicDataSource ds;
static {
Properties p = new Properties();
try {
p.load(DBUtil.class.getClassLoader().getResourceAsStream("db.properties"));
String driver = p.getProperty("driver");
String url = p.getProperty("url");
String user = p.getProperty("user");
String password = p.getProperty("password");
String initSize = p.getProperty("initSize");
String maxSize = p.getProperty("maxSize");
ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUrl(url);
ds.setUsername(user);
ds.setPassword(password);
ds.setInitialSize(Integer.parseInt(initSize));
ds.setMaxActive(Integer.parseInt(maxSize));
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
} public static Connection getConnection() throws SQLException {
return ds.getConnection();
} public static void close(Connection conn) {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
Servlet实现简单的登录页面的更多相关文章
- Web核心之最简单最简单最简单的登录页面
需求分析: 在登录页面提交用户名和密码 在Servlet中接收提交的参数,封装为User对象,然后调用DAO中的方法进行登录验证 在DAO中进行数据库查询操作,根据参数判断是否有对象的用户存在 在Se ...
- servlet实现简单的登录功能
1.登录页面 Login.html <%@page contentType="text/html" pageEncoding="UTF-8"%> & ...
- 一个最简单的登录页面测试case
具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮. 请针对这个页面设计30个以上的testcase.) 此题的考察目的:面试者是否熟悉各种测试方法,是否有丰富的Web测试经 ...
- IDEA+JSP+Servlet+Tomcat简单的登录示例
1.用IDEA新建Java WEB项目并配置Tomcat 这一部分可以参考之前的一篇随笔 https://www.cnblogs.com/lbhym/p/11496610.html 2.导入Servl ...
- Servlet课程0425(四) Servlet实现简单用户登录验证
Login.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class ...
- js实现一个简单的登录页面
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Axure 第一个原型 简单的登录页面
设置所有元件的尺寸和位置的时候都是借助截图软件来调整位置的
- java web: eclipse & maven & jetty & struts2 & mysql = 简单登录页面
第一次接触java web开发,花费了一天半的时间,写了个简单的登录页面,以此文为记. 开发工具 Eclipse Luna Release (4.4.0) 已集成maven,maven目前的体会就是管 ...
- HTML5实战教程———开发一个简单漂亮的登录页面
最近看过几个基于HTML5开发的移动应用,比如臭名昭著的12036移动客户端就是主要使用HTML5来实现的,虽然还是有点反应迟钝,但已经比较流畅了,相信随着智能手机的配置越来越高性能越来越好,会越来越 ...
随机推荐
- HTML标签自定义属性
本文章转载至:http://www.cnblogs.com/luoyanli/archive/2012/10/17/2727886.html HTML标签可以自定义属性,但是我们要考虑其在IE.Fir ...
- 对Vue.js $watch方法的理解
博主最近对着vue.js的官方教程在自学vue.js,博主自幼愚钝,在教程中真的是好多点都不太理解,接下来要说的这个$watch方法就是其中一个不太理解的点了.咱们先来看一下对于$watch方法在vu ...
- NOI全国赛(1998)——围巾裁剪
裁缝有一块非常珍贵的丝绸围巾.可惜的是,围巾的某些部分已经被蛀虫给咬坏了.裁缝当然不愿意就这么把围巾给丢了,于是,他想把围巾给裁成两块小围巾送给他的两个女儿.自然,两块小围巾的面积之和越大越好. 这 ...
- TensorFlow anaconda命令备忘
[查看tensorflow安装的版本] anaconda search -t conda tensorflow [选择版本安装] conda install -c anaconda tensorflo ...
- Linux下快速搭建php开发环境
php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...
- stl1
#include<iostream> #include<map> #include<string> using namespace std; map<st ...
- 数位dp初步——数位dp的两种方式
数位dp:一类统计区间[L,R]内某种符合规定的数字个数的题目.特征是R的范围会很大,O(N)范围内无法完成. 一般而言,解决这类题目有两种方式,一种是递推,另一种是记忆化搜索. 递推: 1)利用dp ...
- [SinGuLaRiTy] 树形存储结构阶段性测试
[SinGuLaRiTy-1011] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. G2019级信息奥赛专项训练 题目 程序名 时间 内存 ...
- hdu 2157 How many ways?? (可达矩阵)
题意:给你一个有向图,从A 点到 B点恰好经过k个点的方案数 (k < 20), 可以走重复边 思路:利用离散数学中的可达矩阵,可达矩阵的K次幂便是从i到j走K步能到达的方案数 代码: #inc ...
- SQL Server特殊用法笔记
1. MERGE用法:关联两表,有则改,无则加 SQL语句: create table #AAA(id int,A int,AA int,AAA int,B int) create table #BB ...