Jsp+Servlet+Mysql简单的登录

用JSP+Servlet+JavaBean模式实现一个简单的登录网页设计(JSP+Tomcat+MySQL)                              By zieckey (http://blog.youkuaiyun.com/zieckey)                               All Rights Reserved! 这次涉及到四个文件:登录页面:login.html登录成功欢迎页面:login_success.jsp登录失败页面:login_failur 阅读详情

图片





JSP:

 <div id = "main">
          <form action = "${pageContext.request.contextPath}/loginServlet" method="get">
              <table>
                 <tr>
                    <td><span>用户名:</span></td>
                    <td><input type="text" name="username"/></td>
                 </tr>
                 <tr>
                    <td><span>密&nbsp;&nbsp;&nbsp;&nbsp;码:</span></td>
                    <td><input type="text" name="password"/></td>
                 </tr>
                 <tr>
                    <td><input type="submit" value="登录" name="sub"/></td>
                 </tr>
              </table>
          </form>
      </div>



Servlet:

package com.syh.servlet;


import java.io.IOException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import com.syh.pojo.User;
import com.syh.service.UserService;


public class LoginServlet extends HttpServlet{


@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//获取从jsp页面传过来的数据
String username = request.getParameter("username");
String password = request.getParameter("password");

//获取service对象,用来处理逻辑事务
UserService service = new UserService();

User user = new User();
user = service.findSimpleUser(username);
if(password != null && password != "" && password.equals(user.getPassword())){
HttpSession session = request.getSession();
session.setAttribute("user", user);
request.getRequestDispatcher("/success.jsp").forward(request, response);
}else{
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
}



Service:

package com.syh.service;


import com.syh.dao.UserDao;
import com.syh.pojo.User;


public class UserService {


UserDao dao = new UserDao();


public User findSimpleUser(String username) {
return dao.findSimpleUser(username);
}


}


dao:

package com.syh.dao;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import com.syh.pojo.User;
import com.syh.utils.DataSourseUtil;


public class UserDao {


private DataSourseUtil util = null;
public User findSimpleUser(String username) {
String sql = "select * from user where  username = ?";
Map<String ,Object> map = new HashMap<String , Object>();
List<Object> params = new ArrayList<Object>();
params.add(username);
util = new DataSourseUtil();
map = util.findSample(sql, params);
if(map != null){
User user  = new User();
user.setUsername((String)map.get("username"));
user.setPassword((String)map.get("password"));
return user;
}

return null;
}


}



Util:

package com.syh.utils;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class DataSourseUtil {



private static String name = "root";
private static String password = "123456";
private static String url = "jdbc:mysql://localhost:3306/test";
private final static String Driver = "com.mysql.jdbc.Driver";

private static Connection coon = null;
private PreparedStatement statement = null;
private ResultSet result = null;

static{
try {
Class.forName(Driver);
coon = DriverManager.getConnection(url, name, password);
} catch (Exception e) {
e.printStackTrace();
}
}

//增删改
public boolean addDeleteModify(String sql , List<Object> params){
boolean flag = false;
int rows = -1;//表示受影响的行数
try{
this.statement = coon.prepareStatement(sql);
int index = 1;
int len = params.size();
if (params != null && !params.isEmpty()){
for(int i = 0 ; i < len ; i++){
statement.setObject(index++, params.get(i));
}
}
   rows = statement.executeUpdate();
   flag = rows > 0 ? true : false;
}catch(Exception ex){
ex.printStackTrace();
}
return flag;
}
//查找 单一查找
public Map<String ,Object> findSample(String sql , List<Object> params){
Map<String ,Object> map = new HashMap<String , Object>();
try{
this.statement = coon.prepareStatement(sql);
int index = 1;
int len = params.size();
if (params != null && !params.isEmpty()){
for(int i = 0 ; i < len ; i++){
statement.setObject(index++, params.get(i));
}
}
result = statement.executeQuery();
ResultSetMetaData rsmd =  result.getMetaData();//获取列名
int count = rsmd.getColumnCount();
System.out.println(result.getRow());
while(result.next()){
for(int i = 0 ; i < count ; i++ ){
String key = rsmd.getColumnName(i + 1);//获取第i个列名
Object value = result.getObject(key);//通过列名来获取对应的值
map.put(key, value);
}
}
return map;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}



public List<Map<String,Object>> findMany(String sql , List<Object> params){
//Map<String , Object> 存储的没行数据
List<Map<String , Object>> list = new ArrayList<Map<String , Object>>();
try{
this.statement = coon.prepareStatement(sql);
int index = 1;
int len = params.size();
if (params != null && !params.isEmpty()){
for(int i = 0 ; i < len ; i++){
statement.setObject(index++, params.get(i));
}
}
result = statement.executeQuery();
ResultSetMetaData rsmd =  result.getMetaData();//获取列名
int count = rsmd.getColumnCount();//共有多少列
while(result.next()){
Map<String ,Object> map = new HashMap<String , Object>();
for(int i = 0 ; i < count ; i++ ){
String key = rsmd.getColumnName(i + 1);//获取第i个列名
Object value = result.getObject(key);//通过列名来获取对应的值
map.put(key, value);
}
list.add(map);
}
return list;
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}


public void closeConnection(){
if(coon != null){
try {
coon.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

if(statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}


if(result != null){
try {
result.close();
} catch (SQLException e) {
e.printStackTrace();
}
}





}





}


web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  
  <servlet>
     <servlet-name>LoginServlet</servlet-name>
     <servlet-class>com.syh.servlet.LoginServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
     <servlet-name>LoginServlet</servlet-name>
     <url-pattern>/loginServlet</url-pattern>
  </servlet-mapping>
  
  

</web-app>









JDBC+MySQL+JSP+Servlet实现简单网页登录 实体类User public class User { public User() { } public User(int id, String username, String password) { this.id = id; this.username = username; this.password = password; } public User(String username, String pass 阅读详情

相关推荐

jsp+servlet+ajax+mysql做一个简单的注册登录的web项目

sss

不洇的博客 3668

jsp技术

1.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口 的init(),service()和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 web容器加...

weixin_48070447的博客 909

servlet+jsp+jdbc实现简单的登录功能(所用平台:win7+Eclipse+tomcat+mysql)

最近在学习java基础,运用servlet+jsp+jdbc实现简单了的登录功能,感受颇多,现分享出来共同学习,望大神多批评指教! 一、首先附上mysql数据库脚本 /* Navicat MySQL Data Transfer Source Server : test Source Server Version : 50717 Source Host

snrypm的博客 2112

JSP与Servlet

Servlet 可以看作是在服务器上运行的小程序,一个页面处理程序。

qq_31856061的博客 3337

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活

本文深入探讨了使用Cadence psspxf工具进行分频器PSRR仿真时常见的三大技术陷阱,包括扰动信号参数设置、收敛性优化和后处理信号提取。通过详细的参数推荐和实战技巧,帮助工程师避免仿真误差,提升PSRR分析效率与准确性,特别适用于16分频器等数字-模拟混合电路设计。

weixin_29258297的博客 304

告别兼容性困扰:在F-Droid中安全部署Termux的完整指南

本文提供了一份在F-Droid中安全部署Termux的完整指南,旨在彻底解决Android设备上的兼容性困扰。文章详细阐述了为何选择F-Droid而非Google Play商店,并逐步指导用户完成从彻底清理旧版本、安装F-Droid客户端、授予权限到最终安装配置Termux的全过程。指南还涵盖了进阶的稳定性配置、数据迁移方法以及常见问题排查,确保用户获得一个稳定、无冲突的命令行工作环境。

weixin_29224309的博客 949

JSP的Servlet编程

文章目录一. 认识Servlet二. Servlet的概述1. Servlet的本质(1). doGet():(2). doPost()(3). 使用Servlet的条件2. Servlet2.5版本配置:web.xml(1). 项目根目录(2). Servlet流程举例理解 一. 认识Servlet 二. Servlet的概述 JSP ——>Java(Servlet)——>JSP 1. Servlet的本质 Servlet是一个Java,但不是所有的java都是servlet Java类必须

巧克力布丁的博客 4472

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1914

Javaweb——第二章 Jsp和Servlet

JSP(全称Java Server Pages),中文名叫JAVA服务器页面,其根本是一个简化的Servlet设计,是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术有点类似A5P技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。JSP技术是以。

qq_58029155的博客 3907

实战拆解:RAG vs Agent在金融风控中的性能对比

2024年上半年我帮某华东地区城商行做零售交易反欺诈系统升级时,技术团队曾发生过一次激烈争论:一派认为应该优先上RAG(检索增强生成)方案,成本低、落地快、合规性好;另一派坚持要上Agent(智能体)方案,推理能力强、能应对复杂新型欺诈。最终我们做了完整的AB测试,结论是两者没有绝对的优劣,只有场景适配的差异:RAG适合高并发、低时延的实时风控场景,Agent适合低并发、高准确率要求的事后核查/大额审批场景,两者结合的 hybrid 方案能覆盖95%以上的风控需求。本文我会结合真实项目的测试数据,从核心概念

AI天才研究院 252

【WorkBuddy从入门到精通实战教程】第 4 章 快速完成第一个 WorkBuddy 任务

摘要:WorkBuddy任务创建指南详细说明了从新建任务到结果验收的全流程。操作步骤包括:选择工作目录、设置模式(Craft/Ask/Plan)、指定AI模型、输入任务说明(需包含目标/输入/动作/约束/输出/验收6要素),可选配Skill等高级设置。文中提供三个入门示例:A)文件整理需保持原文件并生成分类方案;B)会议纪要要求结构化输出且所有内容有原文依据;C)Word转PPT需遵循品牌规范并控制页数。特别强调首次操作应在演练目录测试,处理真实数据前需确认授权范围,输出文件需检查涉密信息并按规范共享。(1

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 1406

java框架002——jsp(本质也是servlet)

一、JSP简介 1。JSP用于简化Servlet编写。JSP是一种实现普通静态HTML和动态内容混合编码的技术。 2。JSP只需对网页中的要动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写。 3。JSP设计的目的在于简化表示层的表示。 4。JSP页面的访问路径与普通HTML页面的访问路径形式完全一样。 5。JSP页面是由HTML语句和嵌套在其中的Java代码组成的一个普通文本文件,JSP 页面的文件扩展名必须为.jsp。 6。在JSP页面中编写的Java代码需要

weixin_45084986的博客 4003

Deeplabv3+改进1:添加CBAM注意力机制|有效涨点

我们提出卷积块注意力模块(CBAM),这是一种简单而有效的前馈卷积神经网络注意力模块。给定一个中间特征图,我们的模块会依次沿两个独立维度(通道和空间)推断注意力图,然后将注意力图与输入特征图相乘,以实现自适应特征细化。由于 CBAM 是一个轻量级且通用的模块,它可以无缝集成到任何 CNN 架构中,几乎不会增加开销,并且可以与基础 CNN 一起端到端训练。我们通过在 ImageNet-1K、MS COCO 检测和 VOC 2007 检测数据集上进行的大量实验验证了 CBAM。

AIcurator的博客 1691

java web简单的注册登录界面实现(servlet+mysql+jsp+idea)

首先写一个实体类 package pojo; public class U { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; }

qq_37244548的博客 1万+

YOLO创新点改进点的消融实验设计规范

YOLO改进的消融实验是一种重要的方法,用于评估和验证模型中不同组件的影响。在进行YOLO改进的消融实验时,我们可以选择一些可能的改进点,比如Backbone网络、Anchor框设计和损失函数设计,然后通过实验来分析它们对模型性能的影响。首先,我们需要确定实验设计。对于每个改进点,我们将设计多个实验组,并针对每个实验组训练模型并进行性能评估。这里以三个改进点为例进行说明:改进点1:Backbone网络 (改进点2:Anchor框设计 (改进点3:损失函数设计 (

crasher123的博客 2913

matlab电子科技大学数学实验期末模拟35道(1)

【代码】matlab电子科技大学数学实验期末模拟35道。

c_wrj_的博客 2044

【javaweb源码】JSP+Servlet+MySQL简单的登录

【javaweb源码】JSP+Servlet+MySQL简单的登录

玩转技术魔方,创造数字未来 5076

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

servlet mysql登录界面_jsp+java servlet实现简单用户登录和注册页面

jsp+java servlet实现简单用户登录(使用数据库,包括注册页面)功能介绍本项目通过使用jsp和servlet实现简单的用户登录。主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步到数据库中)。进行注册后,可进入登录页面对账号进行登录。如果账号存在,则正确跳转到欢迎界面,否则提示用户账号信息输入错误。用户进行登录页面时需要填写验证码同时可勾选是否两周内免登陆。用户进入欢迎界面,则会...

weixin_29215509的博客 1184

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jsp+servlet+mysql 实现简单的银行登录转账功能

jsp+servlet+mysql 实现简单的银行登录转账功能 【前期的准备】 html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从一个登录页面开始(利用表单提交,action=“jsp实现页面”)第一步:在(mysql)数据库中建表:建立一个用户的基本信息表(用户姓名,密码,账户余额),用户转账(用户名,转账金额)的操...

weixin_30361753的博客 1191

jsp+servlet+mysql实现简单登录

上一次写了通过jsp和servlet实现一个简单的登录跳转页面。没有连接数据库,今天尝试连接数据库和数据库里的数据进行比对。

xiaobai_jq的博客 638

JDBC+Servlet+JSP+Mysql写的一个简单的登录注册

一.代码的结构: 二.用到的开发工具: ecliopse、tomcat 7.0、navicat for mysql 用到的架包: mysql-connector-java-5.1.25-bin.jar 三.开发的代码: 3.1 User类: package com.demo.bean; public class User {

梦月如风的博客 3万+

mysql jsp javabean servlet 注册登录_jsp+javabean+servlet实现简单的登录

登录功能注释:过程中的错误看5、6、7,(DBUtil类中,用户名密码填写自己的用户名和密码)。1、首先进行Mysql数据库的建立在mysql数据库中建立test数据库,新建表user,表中两个列,分别为name,userpassword。·如下图2、之后打开eclipse新建Demo的web应用。如下图3、在Demo的Java Resources的文件夹下新建4个包,包名分别为bean,dao,...

weixin_31588005的博客 514

servlet + MySQL + jdbc + jsp 实现简单登录注册

先讲逻辑,我理了两个星期才搞清楚。。。一把心酸一把泪,希望我理解的是对的并且明确清晰的,,,, 前提配置文件,eclipse,mysql下载,jar包导入,数据库连接, 1.将前端代码导入jsp文件;首先在WebContent文件夹下新建文件夹写两个前端的注册登录两个页面regist.jsp和login.jsp,和登录注册成功以后要显示的页面,success.jsp 和 error.jsp;关...

慧子 1万+

jsp+servlet+mysql实现简单登录的完整项目

一、分析项目之前要了解下properties文件的使用 在开发项目时,有很多地方会出现重复的代码或者日后可能需要修改的代码,比如:连接数据库、设置项目编码格式、设定文件上传保存目录等等。重复代码或许可以用静态变量来实现全局调用而不必重复出现,但是毕竟是写死在代码里的,日后需要修改时还要修改源码,比较麻烦而且不便于维护。Java给我们提供了Properties类,可以用来解决这些问题。 Proper...

qq_43060759的博客 2万+

java mysql界面实现登陆_jsp+java servlet实现简单用户登录和注册页面

jsp+java servlet实现简单用户登录(使用数据库,包括注册页面)功能介绍本项目通过使用jsp和servlet实现简单的用户登录。主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步到数据库中)。进行注册后,可进入登录页面对账号进行登录。如果账号存在,则正确跳转到欢迎界面,否则提示用户账号信息输入错误。用户进行登录页面时需要填写验证码同时可勾选是否两周内免登陆。用户进入欢迎界面,则会...

weixin_29444613的博客 1723
下一篇: JDBC入门
JavaWeb_Hao
博客等级 码龄9年 21粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值