(详细)Eclips+jsp+servlet+mysql+登录实例+源代码
欢迎任何形式的转载,但请务必注明出处。
该教程较全,从软件的安装以及相关的环境配置我都放置了相关教程的链接,读者可直接点击进入。自己写电商网站作业时查找了很多资料,但都不是很全,所以趁着寒假写了这份教程,也对自己所学的内容总结总结。如果一些地方读者看不懂,可以自行翻阅我的其他教程内容或私信我,我可能忘放链接了。还有一些专业名词请问度娘。
必做:
- jdk、Eclipse、mysql 安装以及环境配置(点击进入教程1)
- java连接mysql驱动程序:connector/J (点击进入教程2)
- 在Eclipse配置Tomcat服务器(点击进入教程3)
本节内容
- 新建项目
- 结构图
- 数据库MySQL
- 登录页面Login.jsp
- java类编写
- xml编写
- 完善Login.jsp
- 效果展示
一、新建项目
Dynamic WEB项目 “MyWeb”
二、结构图
新建JSP页面"Login"里面的各项,保证红框部分都没丢

三、数据库
数据库的编写我略掉了,读者自己编写时请和我的数据库名称以及表名一致。或者在Connsql中修改代码(Eclipse连接Mysql我前面有具体文章)

四、登录页面Login.jsp
servlet完成后此块还要完善
<%@ 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>登录</title>
</head>
<body>
<form method="" action="" >
<!-- 用户名-->
<label for="userName">用户名</label>
<input type="text" name="userName"/><br>
<!-- 密码-->
<label for="passWord">密 码</label>
<input type="password" name="passWord" /><br><br>
<!-- 登录 -->
<input type="submit" value="Sign Up"></input>
</form>
</body>
</html>
五、java类编写

package com.entity;
public class Customer {
private String cusname;
private String cuspassword;
public Customer(String cusname,String cuspassword){
this.cusname = cusname;
this.cuspassword = cuspassword;
}
//会员名字
public String getCusname() {
return cusname;
}
public void setCusname(String cusname) {
this.cusname = cusname;
}
//会员密码
public String getCuspassword(){
return cuspassword;
}
public void setCuspassword(String cuspassword){
this.cuspassword = cuspassword;
}
}
package com.function;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.entity.Customer;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class Connsql {
/**************连接数据库部分********************/
public static Connection conn(){
Connection conn = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8&useSSL=false";
String username="root";
String pw = "111111";
try {
Class.forName(driver);//加载MySql的驱动类
System.out.println("成功加载驱动程序!!!!");
conn = (Connection) DriverManager.getConnection(url,username,pw);//创建数据库的连接
} catch (Exception e) {
// TODO: handle exception
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace();
}
return conn;
}
/**************用户登录********************/
public boolean cusLogin(Customer customer){
Connection conn = conn();
PreparedStatement pstmt = null;//创建一个Statement
ResultSet rs = null; //创建结果集
String sql = "select * from user where username = ? and userpass= ? ";//创建SQL语句
boolean bl = false;
try{
pstmt = (PreparedStatement) conn.prepareStatement(sql);
pstmt.setString(1, customer.getCusname()); //设置'?'值
pstmt.setString(2, customer.getCuspassword());//设置'?'值
rs = pstmt.executeQuery(); //执行SQL语句
if(rs.next()){ //处理结果
System.out.println("用户名密码正确");
bl = true;
}
rs.close(); //关闭记录集
pstmt.close(); //关闭声明
conn.close(); //关闭连接对象
}catch(SQLException e){
e.getStackTrace();
}
return bl;
}
}
package com.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 com.entity.Customer;
import com.function.Connsql;
public class CusLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
public CusLogin() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//表单数据获取
String name = request.getParameter("userName");
String password = request.getParameter("passWord");
Customer customer = new Customer(name, password);
//数据库部分
Connsql sql = new Connsql(); //新建数据库连接
boolean bl =sql.cusLogin(customer); //检查用户名
if(bl){ //登录成功
response.sendRedirect("Login.jsp?loginerror=no"); //将失败响应传递给Login.jsp
System.out.printf("success");
}else{ //登录失败
response.sendRedirect("Login.jsp?loginerror=yes"); //将失败响应传递给Login.jsp
System.out.printf("faild");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
六、编写web.xml
打开web.xml在内容里添加如下代码
<servlet>
<servlet-name>CusLogin</servlet-name>
<servlet-class>com.servlet.CusLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CusLogin</servlet-name>
<url-pattern>/CusLogin</url-pattern>
</servlet-mapping>
七、完善Login.jsp
1.于<form>中补充action
<form method="get" action="CusLogin"
2.于</html>底部增加<script>,接受响应
<script>
//取出传回来的参数error并与yes比较
var error ='<%=request.getParameter("loginerror")%>';
if(error=="yes"){
alert("用户名或密码错误!"); //弹框:登陆失败
}
else if(error=="no"){
alert("登陆成功!"); //弹框,登陆成功
}
</script>
八、效果展示

(详细)Eclips+jsp+servlet+mysql+登录实例+源代码的更多相关文章
- JSP+servlet简单登录实例
一个简单的jsp+servlet实例,实现简单的登录 转载▼ http://blog.sina.com.cn/s/blog_5c5bc9070100z7wb.html 开发环境myeclips ...
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- 一个简单的JSP 连接MySQL使用实例
一.软件环境 下载并安装MySQL,Tomacat,JDBC.MyEclipse或其他IDE. 二.环境配置 将其环境变量配置好之后,下载Java 专用的连接MySQL的驱动包JDBC,有人会发现在一 ...
- jsp/servlet/mysql/linux基本概念和操作
一.什么是OOP编程? 面向对象,以结果为导向,并封装整个过程,并尽可能地增加代码的复用性和可扩展性...... 二.Junit? JUnit是一个java语言的单元测试框架.Junit测试时程序员测 ...
- 学生成绩管理系统3.0(JSP+Servlet+MySQL)
源代码:戳这里! (2019-01-08 更新 惊讶于这么久了还有人看这个项目 于是把代码传到 github 了(辣鸡CSDN) https://github.com/G-lory/StudentAc ...
- JSP+Servlet+mysql简单示例【图文教程】
下载MYSQL:http://dev.mysql.com/downloads/ 下载安装版的 然后安装(安装步骤就不详细说了) 安装好之后,点击托盘图标,打开管理工具 创建一个数据库 数据库的名字 ...
- Jsp+servlet+mysql搭建套路
1.建立数据库根据需求建立相应的数据库确立数据库的字段.属性.主键等2.建立javaweb项目,搭建开发环境在开发环境的/WebRoot/WEB-INF下建立lib文件夹,存放需要使用的jar包常用的 ...
- jsp+servlet+mysql增删改查
用的IntelliJ IDEA开发的,jdk1.8 1 首先是项目结构,如下图所示 2看各层的代码 首先是web.xml <?xml version="1.0" encodi ...
- jsp+servlet+mysql简单实现用户登陆注册
原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 *有的网友说在修改和删除时会触发error,建议各位不要去把用户名命名为中文! 功能描述 登陆,注册,用户一览表,修改,删除,添加, ...
随机推荐
- Dart 自增++自减--和循环语句
void main(){ /* ++ -- 表示自增 自减 1 在赋值运算里面 如果++ -- 写在前面 这时候先运算 再赋值,如果++ --写在后面 先赋值后运行运算 var a=10; var b ...
- Python3基础 continue while循环示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- 转「服务器运维」如何解决服务器I/O过高的问题
问题缘起: 当我习惯性地用top查看任务运行状态时,发现我运行的100个任务,只有3个在运行,其他都在摸鱼状态.同时发现我的任务进程都是"D"状态(未截图),而不是R(运行)状态. ...
- invalid application of ‘sizeof’ to incomplete type
sizeof 后面所跟的数据类型没有定义,或者找不到定义的地方 eg: 头文件中定义结构体如下: struct PersonaL{ char name[]; int age; }; 但是在cpp中使 ...
- 安卓 android studio 报错 All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
这个问题是Android studio升级到3.0之后,运行的时候会提示gradle要升级到3.5版本才能编译.于是我把我的gradle升级到了 gradle-4.1-milestone-1 版本,是 ...
- JAVA协程 纤程 与Quasar 框架
ava使用的是系统级线程,也就是说,每次调用new Thread(....).run(),都会在系统层面建立一个新的线程,然鹅新建线程的开销是很大的(每个线程默认情况下会占用1MB的内存空间,当然你愿 ...
- IIS+PHP本地开发环境配置
打开Win7系统自带IIS.如图只要点击两下,CGI一定要勾选上!完成后打开浏览器输入127.0.0.1测试一下,如果能打开页面说明iis开启成功. 安装PHP.不同版本的PHP会有所不同,这里使用的 ...
- C#自带的Version判断版本号的大小
Version version1 = new Version("1.0.0.25"); Version version2 = new Version("1.0.0.24& ...
- 17、vue-cli3 js项目中引入ts混用(typeScript)
说明: vue3.0搭建的项目,不过没有引入ts,后来需要用到一个插件是用ts写的,所以vue要用到ts... 一.安装typescript及loader npm install typescript ...
- centos/Fedora/RHEL 安全设置
centos/Fedora/RHEL • 整改方法: • 验证检查: 1.查看/etc/login.defs,访谈询问当前所设置的密码长度及更换周期: 2.查看/etc/pam.d ...