servlet mysql 登陆_如何用JSP servlet完成一个简单的登录页面连接mysql数

展开全部

第一步:web.xml

Java code?

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">

login.jsp

This is the description of my J2EE component

This is the display name of my J2EE component

loginServlet

com.servlet.loginServlet

loginServlet

/loginServlet

第二步32313133353236313431303231363533e59b9ee7ad9431333361323661:数据库

Java code?

/*

SQLyog Ultimate v8.32

MySQL - 5.5.23 : Database - student

*********************************************************************

*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

CREATE DATABASE /*!32312 IF NOT EXISTS*/`student` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `student`;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`user` varchar(50) NOT NULL,

`pwd` varchar(50) NOT NULL,

`name` varchar(50) NOT NULL,

`age` int(50) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

/*Data for the table `user` */

insert  into `user`(`id`,`user`,`pwd`,`name`,`age`) values (1,'zhangsan','123','张三',21);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;

/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

第三步:登录login.jsp

Java code?

HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

xx系统
  用户登录
用户名:
密 码:

第四步:success.jsp

Java code

pageEncoding="ISO-8859-1"%>

html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Insert title here

${address }

${port }

第五步:loginServlet.java

Java code

package com.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.net.InetAddress;

import java.sql.SQLException;

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.dao.Dao;

public class loginServlet extends HttpServlet {

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

response.setContentType("text/html");

PrintWriter out = response.getWriter();

String name = new String(request.getParameter("user").getBytes(

"ISO8859_1"), "GBK");

String pwd = new String(request.getParameter("pwd").getBytes(

"ISO8859_1"), "UTF-8");

User user = new User();

user.setUser(name);

user.setPwd(pwd);

Dao dao = new Dao();

boolean isLogin;

try {

isLogin = dao.logoin(user);

if (isLogin) {

InetAddress inetAddress = InetAddress.getLocalHost();

String m = inetAddress.getHostAddress();

int n = request.getRemotePort();

System.out.println(m+"*********"+ n);

HttpSession session = request.getSession();

session.setAttribute("address", m);

session.setAttribute("port", n);

response.sendRedirect("success.jsp");

} else {

response.sendRedirect("index.jsp");

}

} catch (SQLException e) {

e.printStackTrace();

}

}

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void init() throws ServletException {

}

}

Java code

package com.servlet;

public class User {

private String user;

private String pwd;

private String name;

private int age;

public String getUser() {

return user;

}

public void setUser(String user) {

this.user = user;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

Java code?

package com.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class GetConnection {

//通过静态方法注册驱动,获得连接

public static Connection getConnection(){

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost/student";

Connection con = null;

try {

Class.forName(driver);

try {

con = DriverManager.getConnection(url,"root","123456");

} catch (SQLException e) {

e.printStackTrace();

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

System.out.println("已获得数据库的连接");

return con;

}

/*public static void main(String args[]){

getConnection();

}*/

}

Java code?

package com.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.servlet.User;

import com.util.GetConnection;

public class Dao {

private Connection conn;

private PreparedStatement pstat;

String sql = "";

/**

*

* 用户登录

*/

public boolean logoin(User user) throws SQLException {

conn = GetConnection.getConnection();

boolean i = false;

sql = "select * from user where user=? and pwd=?";

pstat = conn.prepareStatement(sql);

pstat.setString(1, user.getUser());

pstat.setString(2, user.getPwd());

ResultSet rs1 = (ResultSet) pstat.executeQuery();

if (rs1.next()) {

i = true;

rs1.close();

pstat.close();

} else {

i = false;

rs1.close();

pstat.close();

}

conn.close();

return i;

}

/**

* 用户注册

*/

public void addUser(User user) {

conn = GetConnection.getConnection();

sql = "insert into user values(?,?,?,?)";

try {

pstat = conn.prepareStatement(sql);

pstat.setString(1, user.getUser());

pstat.setString(2, user.getPwd());

pstat.setString(3, user.getName());

pstat.setInt(5, user.getAge());

pstat.executeUpdate();

pstat.close();

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

注意事项:1.数据库用户密码;2.访问地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值