一:创建Servlet文件夹
new--->Servlet
然后填写Servlet文件名
二:编写登录的代码
package org.sunrunda;
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 org.sunrunda.util.DBUtil;
public class LoginServlet extends HttpServlet {
//登录
//请求
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
//响应
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1请求的代码
request.setCharacterEncoding("utf-8");
//响应
response.setCharacterEncoding("utf-8");
//设置响应的显示格式内容
response.setContentType("text/html");
//2处理请求
String name=request.getParameter("name");
String pwd= request.getParameter("pwd");
boolean isTrue = false;
//jdbc部分
Connection conn =DBUtil.getConn();
String sql="select*from student where name=? and pwd=?";
PreparedStatement ps = null;
ResultSet rs=null;
try {
ps=conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, pwd);
rs =ps.executeQuery();
if(rs.next()){
//登录成功
isTrue = true;
}else{
//登录失败
isTrue = false;
}
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.Close(ps, rs, conn);
//处理响应
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
if(isTrue){
out.println("<h1 style='color:green'>登录成功!</h1>");
}else{
out.println("<h1 style='color:red'>登录失败!</h1>");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
登录页面
-->
</head>
<body>
<form action="loginServlet" method="post">
用户名: <input type="test" name="name"/><br/>
密码:<input type="test"name="pwd" /> <br />
<input type="submit" value="登录" />
<a href="reg.jsp">没有账户点击注册</a>
</form>
</body>
</html>
三:编写注册页面的代码
package org.sunrunda;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.sunrunda.util.DBUtil;
public class RegServlet extends HttpServlet {
//注册
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 1请求的代码
request.setCharacterEncoding("utf-8");
// 响应
response.setCharacterEncoding("utf-8");
// 设置响应的显示格式内容
response.setContentType("text/html");
// 2处理请求
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String suername = request.getParameter("suername");
String sex = request.getParameter("sex");
String ageSet = request.getParameter("age");
Integer age = Integer.parseInt(ageSet);
boolean isTrue = false;
// jdbc部分
Connection conn = DBUtil.getConn();
String sql = "insert into student (name,pwd,suername,sex,age) values(?,?,?,?,?)";
PreparedStatement ps = null;
try {
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setString(2, pwd);
ps.setString(3, suername);
ps.setString(4, sex);
ps.setInt(5, age);
int count = ps.executeUpdate();
if (count > 0) {
// 注册成功
isTrue = true;
} else {
// 注册失败
isTrue = false;
}
} catch (SQLException e) {
e.printStackTrace();
}
DBUtil.Close(ps, null, conn);
// 处理响应
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
if (isTrue) {
out.println("<h1 style='color:green'>注册成功!</h1>");
} else {
out.println("<h1 style='color:red'>注册失败!</h1>");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
注册页面
-->
</head>
<body>
<form action="regServlet" method="post">
用户名: <input type="test" name="username"/><br/>
密码:<input type="password"name="pwd" /> <br />
姓名: <input type="test" name="name"/><br/>
年龄: <input type="test" name="age"/><br/>
<input type="submit" value="注册" />
<a href="index.jsp">已有账户,请点击登录</a>
</form>
</body>
</html>
四:与数据库相连接DBUtil
package org.sunrunda.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
static {
// 1
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConn() {
Connection conn = null;
// 2
try {
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=MyDB", "sa", "1");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public static void Close(PreparedStatement ps, ResultSet rs, Connection conn) {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}