目录结构

web.xml

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

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="false" version="3.0">

	<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/Second</url-pattern>
</servlet-mapping> </web-app>

web.xml中配置servlet

  • <servlet-name>可以随便起名,但是要在<servlet>和<servlet-map>中一致。
  • <servlet-class>是以WEB-INF/classes为根路径。在写完java文件后,将产生的class文件放到WEB-INF/classes。
  • <url-pattern>可以随便起名,最后表现在URL中应用名之后的部分,即http://localhost/应用名/<url-pattern>,不能少去第一个/。
dao/DBdao

package dao;

import java.sql.Connection;
import java.sql.DriverManager; public class DBdao{
public static Connection getConnection(){ String dbUrl = "jdbc:mysql://localhost:3306/web?characterEncoding=UTF-8";
String dbUser = "root";
String dbPassword = "jinliang"; Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}
  • Class.forName("com.mysql.jdbc.Driver");Driver是一个java.sql包中的接口,该方法通过当前类加载器加载实现Driver接口的mysql数据库驱动,并返回Class类。
  • DriverManager.getConnection()方法获得对数据库的连接
FirstServlet/java

import java.io.IOException;
import java.io.PrintStream; import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException; import dao.DBdao; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class FirstServlet extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException
{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"); PrintStream out = new PrintStream(response.getOutputStream()); String name = request.getParameter("userName");
String password = request.getParameter("password"); Connection conn = null;
Statement statement = null; String sql = "select * from user where username="+"'"+name+"'"; try{
//获得数据库连接
conn = DBdao.getConnection();
//获得Statement对象用来执行sql语句
statement = conn.createStatement();
//执行sql查询,并返回结果集对象
ResultSet rs = statement.executeQuery(sql); if(rs.next()){
if(rs.getString("password").equals(password)){
out.print("<h1>success</h1>");
}
}
}
catch(Exception e){
e.printStackTrace();
}
}
}

登陆界面

callFirstServlet.jsp

<%@ page pageEncoding="UTF-8"%>
<form method="post" action="Second">
<input type="text" name="userName"/>
<input type="password" name="password"/>
<input type="submit"/>
</form>
  • form表单在点击提交后,通过post方式,将表单中的数据以name:value键值对存入request,并发送request至action,即web.xml中配置的FirstServlet。
  • tomcat接收到表单请求后,将其层层包装,最后递交至FirstServlet中service方法的request参数,从参数中获得姓名和密码。将该密码与从数据库通过姓名查询到的密码比对,确定是否通过,并将结果放在response中,由tomcat再次包装后返回至客户端浏览器。

java-web 登陆功能的更多相关文章

  1. 【Servlet】java web 文件下载功能实现

    需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 <!DOCTYPE html> & ...

  2. java web文件下载功能实现 (转)

    http://blog.csdn.net/longshengguoji/article/details/39433307 需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一 ...

  3. node 开发web 登陆功能

    node.js基于express框架搭建一个简单的注册登录Web功能 这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 ...

  4. java模拟登陆功能

    package test; import java.util.Scanner; public class Login { static Scanner sc=new Scanner(System.in ...

  5. Java Web(一) Servlet详解!!

    这篇文章到上一篇,距离的有点遥远呀,隔了大概有两个月把,中间在家过了个年,哈哈~ 现在重新开始拾起,最近在看一本个人觉得很棒的书,<Java Web 整合开发王者归来>,现在写的这一系列基 ...

  6. (转)Java Web(一) Servlet详解!!

    https://www.cnblogs.com/whgk/p/6399262.html 这篇文章到上一篇,距离的有点遥远呀,隔了大概有两个月把,中间在家过了个年,哈哈~ 现在重新开始拾起,最近在看一本 ...

  7. 重拾Java Web应用的基础体系结构

    目录 一.背景 二.Web应用 2.1 HTML 2.2 HTTP 2.3 URL 2.4 Servlet 2.4.1 编写第一个Servlet程序 2.5 JSP 2.6 容器 2.7 URL映射到 ...

  8. java web程序 上机考试做一个登陆注册程序

    大二期末 java web.用到数据库,jdbc.myeclipse实现用户的注册,登陆 并且不能出现500错误,用户不能重复注册.当用户任意点击时也不能出现500错误! 这里.我只写注册成功的页面. ...

  9. java web程序 上机考试登陆界面设计实现

    今天是java web上机.做一个登陆注册的界面.要求:jsp.mysql数据库,js做一个美观的界面.功能.可以添加 更多啊.我做的界面被老师狠狠的扣了分.问题在于.当用户没有输入任何信息(没有输入 ...

  10. 从零开始编写自己的C#框架(15)——Web层后端登陆功能

    对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证.用户在线记录.相关日志记录.单用户或多用户使用帐号控制等,都是在这个页面进行处理的. 1.在解决方案中创建一个Web项目,并将它设置 ...

随机推荐

  1. 1、设备网络SDK主要功能

    图像预览.文件回放和下载,云台控制,布防/撤防,语音对讲,日志管理,解码卡,远程升级,远程重启/关闭,格式化硬盘,参数配置(系统配置,通道配置,串口配置,报警配置,用户配置),多路解码器,智能设备功能 ...

  2. Linux发送邮件

    以下是自己收集的实用Linux下简单配置外部邮箱发送邮件的方法: 1.配置/etc/mail.rc,使用mail命令 # vim /etc/mail.rc ###调用外部邮箱   set from=t ...

  3. maven环境快速搭建(转)

    出处:http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html 最近,开发中要用到maven,所以对maven进行了简单的学习.因为有个m ...

  4. CodeForces 347B Fixed Points (水题)

    题意:给定 n 数,让你交换最多1次,求满足 ai = i的元素个数. 析:很简单么,只要暴力一遍就OK了,先把符合的扫出来,然后再想,最多只能交换一次,也就是说最多也就是加两个,然后一个的判,注意数 ...

  5. java 泛型详解(转)

    普通泛型 class Point<T>{       // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定 publ ...

  6. 风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转

    如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务 ...

  7. C# 过滤SQL 字符串中的 参数

    /// <summary> /// 参数过滤 /// </summary> /// <param name="parameters"></ ...

  8. Android新增的注解

    环境 使用Android注解前需要导入相关的包 compile 'com.android.support:support-annotations:latest.integration' 注意:如果我们 ...

  9. src.rpm格式的RHCS源码提取

    RHCS源码下载(地址1:地址2) 参考文档(RHCS安装也配置) RHCS源码提取(参考) 方法一: (1)rpm –ivh magma-plugins-1.0.15-3.src.rpm   执行r ...

  10. hyper-v开发包之ddtkh

    ddtkh是微软开源社区的项目,实质是.net对象封装的一系列powershell命令,在结构上更直观更易用.它集成scvmm虚拟机管理.scom虚拟机资源监控和DPM数据保护等几种功能包.