博客改版后源码格式乱套了。。。详见Github项目
以下是原始正文:
本文介绍了以Java作为后台语言,以Tomcat搭建本地服务器,同时连接MySQL数据库实现的一个简单的网页注册和登陆功能的实现。前端页面主要使用了html,JavaScript 和 Processing。
实现的代码如下。
webDemo
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
LoginTestServlet
com.test.LoginTestServlet
LoginTestServlet
/loginTestServlet
RegisterTestServlet
com.login.test.RegisterTestServlet
RegisterTestServlet
/RegisterTestServlet
ProfileServlet
com.login.test.ProfileServlet
ProfileServlet
/ProfileServlet
ProcessShowServlet
com.login.test.ProcessShowServlet
ProcessShowServlet
/*ProcessShowServlet
package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class LoginTestServlet
* WebServlet Annotation is used to declare a servlet and is processed by the container at deployment time
*/
@WebServlet("/LoginTestServlet")
public class LoginTestServlet extends HttpServlet {
/**
* The serialization runtime associates with each serializable class a version number, called a serialVersionUID
* which is used during deserialization to verify that the sender and receiver of a serialized object
* have loaded classes for that object that are compatible with respect to serialization
*/
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginTestServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
* HTTP GET requests are idempotent. I.e. you get exactly the same result everytime you execute the request
* If a Servlet is listening on the URL in question, then its doGet() method will be called to preprocess a request
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
* HTTP POST requests are not itempotent and the submitted form data is not reflected in the URL
* If a Servlet is listening on the URL in question, then its doPost() will be called to postprocess a request.
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// the setContentType() sets the content type of the response being sent to the client, which may include a character encoding specification
// the setCharacterEncoding() overrides the name of the character encoding used in the body of this request
// the gb2312 encoding is often used for webpages containing Chinese characters
response.setContentType("text/heml;charset=gb2312");
request.setCharacterEncoding("gb2312");
// get the username and password from the form submitted by the login webpage
String username = request.getParameter("username");
String psw = request.getParameter("password");
if(username == "" || username == null || username.length()>20){
try {
// print on screen the warning information and go to the login.jsp page
response.getWriter().print("请输入用户名(不能超过20个字符)!");
response.setHeader("refresh","2; URL=login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
if(psw == "" || psw == null || psw.length() > 20){
try {
response.getWriter().print("请输入密码(不能超过20个字符)!");
response.setHeader("refresh","2; URL=login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Connecting to MySQL Using the JDBC DriverManager Interface
*/
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.print("Class Not Found Exception");
}
//add URL for connecting to MySQL
String url = "jdbc:mysql://localhost:3306/test";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Connect to MySQL with valid url, account and password
conn = (Connection) DriverManager.getConnection(url,"root","12241083");
stmt = (Statement) conn.createStatement();
// MySQL syntax: select expr... from table_reference where where_condition
// Here we excute the query to check if the inputted username and password exist in our MySQL table
String sql = "select * from employees where name='"+username+"' and password= '"+psw+"'";
rs = stmt.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
// Set a session for the current request
// Set an object named "username" for this session and store our username in it
// getSession() returns the current session associated with this request
// setAttribute() binds an object to this session, using the name specified
HttpSession session = request.getSession();
session.setAttribute("username", username);
try {
// Check if the MySQL query result is null or not
// if not null, get the user information and go to the success.jsp webpage
if(rs.next()){
session.setAttribute("age",rs.getString("age")) ;
session.setAttribute("sex",rs.getString("sex")) ;
session.setAttribute("weight",rs.getString("weight")) ;
response.sendRedirect("success.jsp") ;
return;
}else{
// if null, the inputted user does not exist
// the setArribute() sets an attribute named "message" and stores the value of result in it
// the sendRedirect() sends a temporary redirect response to the client
// using the specified redirect location URL and clears the buffer
session.setAttribute("message", "用户名或密码不匹配。");
response.sendRedirect("fail.jsp") ;
return;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class RegisterTestServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public RegisterTestServlet()
{
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// the output informations contain Chinese characters
response.setContentType("text/html;charset=UTF-8");
// here we get the register information from the form submitted by the register.jsp page
String a=request.getParameter("name1");
String b=request.getParameter("password1");
String c=request.getParameter("password2");
if(a!=null && b!=null && c!=null && a!="" && b!="" && c!="")
// check if all the needed inforamtions are inputted
{
if(a.equals(a.replace(" ","?")) && b.equals(b.replace(" ","?")) && c.equals(c.replace(" ","?")))
// check if the inputted string informations contain blank space
{
try
{
// connect to MySQL
Class.forName("com.mysql.jdbc.Driver");
String strUrl = "jdbc:mysql://localhost:3306/test";
Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083");
Statement st= (Statement) conn.createStatement();
ResultSet rs=st.executeQuery("select * from employees");
if(rs!=null && rs.next())
{
// check if the inputted username was already registered
// if yes, warn the user by printing corresponding information on the screen
if(a.equals(rs.getString("name")))
{
response.getWriter().print("该用户已被注册");
response.setHeader("refresh","2; URL=register.jsp");
}
else
{
// check if two inputted passwords is the same
if(b.equals(c))
{
response.getWriter().print("注册成功");
// if registered successfully, store the registration information into MySQL
// the ? stands for a placeholder with further information to complete
// PreparedStatement represents a precompiled SQL statement. A SQL statement is precompiled and stored in a PreparedStatement object
// This object can then be used to efficiently execute this statement multiple times
PreparedStatement pst= (PreparedStatement) conn.prepareStatement("insert into employees(name,password,age,weight,sex)"+"values(?,?,0,0,'M')");
pst.setString(1, a);
pst.setString(2, b);
pst.executeUpdate();
response.setHeader("refresh","2; URL=login.jsp");
}
else
{
response.getWriter().print("两次密码不一致");
response.setHeader("refresh","2; URL=register.jsp");
}
}
}
}
catch (Exception e)
{
response.getWriter().print("错误"+e);
e.printStackTrace();
}
}
else
{
response.getWriter().print("请检查格式是否正确");
response.setHeader("refresh","2; URL=register.jsp");
}
}
else
{
response.getWriter().print("请以正确的方式注册账号");
response.setHeader("refresh","2; URL=register.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
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 javax.servlet.http.HttpSession;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class ProfileServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public ProfileServlet()
{
super();
}
// check if v is an integer
public static boolean isInteger(String v){
try{
Integer.parseInt(v);
return true;
}catch(NumberFormatException e){
return false;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
String nm=request.getParameter("userName");
String ag=request.getParameter("age1").trim();
String wg=request.getParameter("weight1").trim();
String sx=request.getParameter("sex1").trim();
if(ag!=null && wg!=null && sx!=null && ag!="" && wg!="" && sx!="")
{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.print("Class Not Found Exception");
}
String url = "jdbc:mysql://localhost:3306/test";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = (Connection) DriverManager.getConnection(url,"root","12241083");
stmt = (Statement) conn.createStatement();
String sql = "select * from employees where name='"+nm+"'";
rs = stmt.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
try {
if(rs.next())
{
if(isInteger(ag) && isInteger(wg)){
// get the integer value
int a=Integer.valueOf(ag);
int w=Integer.valueOf(wg);
// update the user information in MySQL
String sq = "update employees set age="+a+",weight="+w+",sex='"+sx+"' where name='"+nm+"'";
PreparedStatement p1= (PreparedStatement) conn.prepareStatement(sq);
p1.executeUpdate();
response.getWriter().print("修改成功!");
HttpSession session = request.getSession();
session.setAttribute("username", nm);
session.setAttribute("age", ag);
session.setAttribute("weight", wg);
session.setAttribute("sex", sx);
response.setHeader("refresh","2; URL=success.jsp");
}else{
response.getWriter().print("年龄和体重应该为整数!");
response.setHeader("refresh","2; URL=profile.jsp");
}
}
else{
response.getWriter().print("该用户不存在!");
response.setHeader("refresh","2; URL=profile.jsp");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
else
{
response.getWriter().print("请输入有效数据!");
response.setHeader("refresh","2; URL=profile.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}<%@pagelanguage="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--UTF-8 is a character encoding capable of encoding all possible characters, or code points, defined by Unicode--%>
webDemo
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
LoginTestServlet
com.test.LoginTestServlet
LoginTestServlet
/loginTestServlet
RegisterTestServlet
com.login.test.RegisterTestServlet
RegisterTestServlet
/RegisterTestServlet
ProfileServlet
com.login.test.ProfileServlet
ProfileServlet
/ProfileServlet
ProcessShowServlet
com.login.test.ProcessShowServlet
ProcessShowServlet
/*ProcessShowServlet
package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
* Servlet implementation class LoginTestServlet
* WebServlet Annotation is used to declare a servlet and is processed by the container at deployment time
*/
@WebServlet("/LoginTestServlet")
public class LoginTestServlet extends HttpServlet {
/**
* The serialization runtime associates with each serializable class a version number, called a serialVersionUID
* which is used during deserialization to verify that the sender and receiver of a serialized object
* have loaded classes for that object that are compatible with respect to serialization
*/
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginTestServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
* HTTP GET requests are idempotent. I.e. you get exactly the same result everytime you execute the request
* If a Servlet is listening on the URL in question, then its doGet() method will be called to preprocess a request
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
* HTTP POST requests are not itempotent and the submitted form data is not reflected in the URL
* If a Servlet is listening on the URL in question, then its doPost() will be called to postprocess a request.
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// the setContentType() sets the content type of the response being sent to the client, which may include a character encoding specification
// the setCharacterEncoding() overrides the name of the character encoding used in the body of this request
// the gb2312 encoding is often used for webpages containing Chinese characters
response.setContentType("text/heml;charset=gb2312");
request.setCharacterEncoding("gb2312");
// get the username and password from the form submitted by the login webpage
String username = request.getParameter("username");
String psw = request.getParameter("password");
if(username == "" || username == null || username.length()>20){
try {
// print on screen the warning information and go to the login.jsp page
response.getWriter().print("请输入用户名(不能超过20个字符)!");
response.setHeader("refresh","2; URL=login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
if(psw == "" || psw == null || psw.length() > 20){
try {
response.getWriter().print("请输入密码(不能超过20个字符)!");
response.setHeader("refresh","2; URL=login.jsp");
return;
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Connecting to MySQL Using the JDBC DriverManager Interface
*/
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.print("Class Not Found Exception");
}
//add URL for connecting to MySQL
String url = "jdbc:mysql://localhost:3306/test";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Connect to MySQL with valid url, account and password
conn = (Connection) DriverManager.getConnection(url,"root","12241083");
stmt = (Statement) conn.createStatement();
// MySQL syntax: select expr... from table_reference where where_condition
// Here we excute the query to check if the inputted username and password exist in our MySQL table
String sql = "select * from employees where name='"+username+"' and password= '"+psw+"'";
rs = stmt.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
// Set a session for the current request
// Set an object named "username" for this session and store our username in it
// getSession() returns the current session associated with this request
// setAttribute() binds an object to this session, using the name specified
HttpSession session = request.getSession();
session.setAttribute("username", username);
try {
// Check if the MySQL query result is null or not
// if not null, get the user information and go to the success.jsp webpage
if(rs.next()){
session.setAttribute("age",rs.getString("age")) ;
session.setAttribute("sex",rs.getString("sex")) ;
session.setAttribute("weight",rs.getString("weight")) ;
response.sendRedirect("success.jsp") ;
return;
}else{
// if null, the inputted user does not exist
// the setArribute() sets an attribute named "message" and stores the value of result in it
// the sendRedirect() sends a temporary redirect response to the client
// using the specified redirect location URL and clears the buffer
session.setAttribute("message", "用户名或密码不匹配。");
response.sendRedirect("fail.jsp") ;
return;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class RegisterTestServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public RegisterTestServlet()
{
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// the output informations contain Chinese characters
response.setContentType("text/html;charset=UTF-8");
// here we get the register information from the form submitted by the register.jsp page
String a=request.getParameter("name1");
String b=request.getParameter("password1");
String c=request.getParameter("password2");
if(a!=null && b!=null && c!=null && a!="" && b!="" && c!="")
// check if all the needed inforamtions are inputted
{
if(a.equals(a.replace(" ","?")) && b.equals(b.replace(" ","?")) && c.equals(c.replace(" ","?")))
// check if the inputted string informations contain blank space
{
try
{
// connect to MySQL
Class.forName("com.mysql.jdbc.Driver");
String strUrl = "jdbc:mysql://localhost:3306/test";
Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083");
Statement st= (Statement) conn.createStatement();
ResultSet rs=st.executeQuery("select * from employees");
if(rs!=null && rs.next())
{
// check if the inputted username was already registered
// if yes, warn the user by printing corresponding information on the screen
if(a.equals(rs.getString("name")))
{
response.getWriter().print("该用户已被注册");
response.setHeader("refresh","2; URL=register.jsp");
}
else
{
// check if two inputted passwords is the same
if(b.equals(c))
{
response.getWriter().print("注册成功");
// if registered successfully, store the registration information into MySQL
// the ? stands for a placeholder with further information to complete
// PreparedStatement represents a precompiled SQL statement. A SQL statement is precompiled and stored in a PreparedStatement object
// This object can then be used to efficiently execute this statement multiple times
PreparedStatement pst= (PreparedStatement) conn.prepareStatement("insert into employees(name,password,age,weight,sex)"+"values(?,?,0,0,'M')");
pst.setString(1, a);
pst.setString(2, b);
pst.executeUpdate();
response.setHeader("refresh","2; URL=login.jsp");
}
else
{
response.getWriter().print("两次密码不一致");
response.setHeader("refresh","2; URL=register.jsp");
}
}
}
}
catch (Exception e)
{
response.getWriter().print("错误"+e);
e.printStackTrace();
}
}
else
{
response.getWriter().print("请检查格式是否正确");
response.setHeader("refresh","2; URL=register.jsp");
}
}
else
{
response.getWriter().print("请以正确的方式注册账号");
response.setHeader("refresh","2; URL=register.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}package com.login.test;
import java.io.IOException;
import java.sql.DriverManager;
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 javax.servlet.http.HttpSession;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.Statement;
public class ProfileServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
public ProfileServlet()
{
super();
}
// check if v is an integer
public static boolean isInteger(String v){
try{
Integer.parseInt(v);
return true;
}catch(NumberFormatException e){
return false;
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
String nm=request.getParameter("userName");
String ag=request.getParameter("age1").trim();
String wg=request.getParameter("weight1").trim();
String sx=request.getParameter("sex1").trim();
if(ag!=null && wg!=null && sx!=null && ag!="" && wg!="" && sx!="")
{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
System.out.print("Class Not Found Exception");
}
String url = "jdbc:mysql://localhost:3306/test";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = (Connection) DriverManager.getConnection(url,"root","12241083");
stmt = (Statement) conn.createStatement();
String sql = "select * from employees where name='"+nm+"'";
rs = stmt.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
}
try {
if(rs.next())
{
if(isInteger(ag) && isInteger(wg)){
// get the integer value
int a=Integer.valueOf(ag);
int w=Integer.valueOf(wg);
// update the user information in MySQL
String sq = "update employees set age="+a+",weight="+w+",sex='"+sx+"' where name='"+nm+"'";
PreparedStatement p1= (PreparedStatement) conn.prepareStatement(sq);
p1.executeUpdate();
response.getWriter().print("修改成功!");
HttpSession session = request.getSession();
session.setAttribute("username", nm);
session.setAttribute("age", ag);
session.setAttribute("weight", wg);
session.setAttribute("sex", sx);
response.setHeader("refresh","2; URL=success.jsp");
}else{
response.getWriter().print("年龄和体重应该为整数!");
response.setHeader("refresh","2; URL=profile.jsp");
}
}
else{
response.getWriter().print("该用户不存在!");
response.setHeader("refresh","2; URL=profile.jsp");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
else
{
response.getWriter().print("请输入有效数据!");
response.setHeader("refresh","2; URL=profile.jsp");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}<%@pagelanguage="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--UTF-8 is a character encoding capable of encoding all possible characters, or code points, defined by Unicode--%>
<%--Meta tags are used by the likes of search engines to catalogue information about the web page--%>用户登录
<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>
<%--we use a form to submit the data inputted by users--%> <%--action=The address to which submitted form data should be sent to--%> <%--method=The HTTP method by which submitted form data should be sent--%> <%--name=The name of the form--%>
用户登录
<%--the table element defines the table, tr defines a table row, td defines a data cell--%>
用户名: | <%--here this data cell will take up two columns--%> <%--here we name the inputted data as username and send it to LoginTestServlet--%> <%--the onfocus attribute is used to clear the default values when the data cell is focused on--%> | |
密 码 | ||
<%--submit the form--%> | <%--reset the inputted data--%> | <%--call the goRegister() function on click--%> |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>登录失败<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> <% String userName = (String) session.getAttribute("username"); String msg = (String) session.getAttribute("message"); %>
<%=userName%> 对不起,登陆失败!
原因: <%=msg%> <%--print the reason for the failed login--%>
5秒后将返回登陆界面。
<% response.setHeader("Refresh", "5;URL=login.jsp"); // refresh the webpage in 5 sec and then go to the login.jsp page %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>注册页面<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>
用户注册
用户名 | ||
密 码 | ||
确认密码 | ||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%--doc type declaration--%>登录成功<% // HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期 // no-cache:强制缓存从服务器上获取新的页面 // no-store: 在任何环境下缓存不保存任何页面 response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %> <% // Check if the user has logged in String userName = (String)session.getAttribute("username") ; if(userName == null || userName == ""){ %>
用户未登录!
正在跳转到登录页面。。。
<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ String age = (String)session.getAttribute("age"); String weight = (String)session.getAttribute("weight"); String sex = (String)session.getAttribute("sex"); // get the corrsponding values of objects in this session with given names and convert them into String. // the trim() method returns a copy of the string, with leading and trailing whitespace omitted. if (sex.trim().equals("M")) { sex ="男" ; }else{ sex = "女" ; } %> <%--
marks up a generic block with no associated semantics--%><%=userName %> 欢迎您,登陆成功!
登陆用户信息:
姓名: | <%=userName %> |
年龄: | <%=age %> |
体重: | <%=weight %> kg |
性别: | <%=sex %> |
展示 修改资料
<% } %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
修改个人资料<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); %>
<% // Check if the user has logged in String Iusername = (String)session.getAttribute("username") ; if(Iusername == null || Iusername == ""){ %>
用户未登录!
正在跳转到登录页面。。。
<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ String Iage = (String)session.getAttribute("age") ; String Iweight = (String)session.getAttribute("weight") ; String Isex = (String)session.getAttribute("sex") ; %> <%=Iusername %>修改个人资料
用户: >
年龄: οnfοcus="if(this.value==Iage) this.value='';">
体重: οnfοcus="if(this.value==Iweight) this.value='';">
性别: <% if(Isex.trim().equals("M")) { %> Male: Female: <% } else {%> Male: Female: <% } %>
> <% } %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>注销登录<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader("Expires",0); // log out and remove user information session.removeAttribute("username"); session.invalidate(); %>
注销成功!
正在跳转到登录页面。。。
<% response.setHeader("Refresh", "1;URL=login.jsp"); %> package com.login.test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.mysql.jdbc.Connection; import com.mysql.jdbc.Statement; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; /** * Servlet implementation class ProcessShowServlet */ @WebServlet("/ProcessShowServlet") public class ProcessShowServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ProcessShowServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); //response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("appliation/json"); PrintWriter out = response.getWriter(); List ulist = new ArrayList();//传递List try{ Class.forName("com.mysql.jdbc.Driver"); String strUrl = "jdbc:mysql://localhost:3306/test"; Connection conn = (Connection) DriverManager.getConnection(strUrl, "root", "12241083"); Statement st= (Statement) conn.createStatement(); ResultSet rs=st.executeQuery("select * from employees"); //遍历结果集获取指定数据 while(rs!=null && rs.next()) { ulist.add(new User(rs.getInt("age"))); } } catch (Exception e) { response.getWriter().print("错误"+e); e.printStackTrace(); } JSONArray jsonArray1 = JSONArray.fromObject(ulist);//转化成json对象 out.println(jsonArray1);//返给ajax请求 out.flush(); } }<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>图片展示<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragrma","no-cache"); response.setDateHeader("Expires",0); String userName = (String)session.getAttribute("username") ; if(userName == null || userName == ""){ %>
用户未登录!
正在跳转到登录页面。。。
<% response.setHeader("Refresh", "1;URL=login.jsp"); }else{ %> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <%-- processing.js和pde文件都存放在WebContent目录下的public文件夹里 --%> <% } %> void setup() { size(640, 360); } void draw() { background(127); noStroke(); for (int i=0, k=0; i < yHeights.length; i++) { fill(129, 206, 15); rect(k, 0, 10, yHeights[i]); k += 20; } }
其中show.jsp页面需要获得Jquery支持(http://libs.baidu.com/jquery/1.10.2/jquery.min.js),运行时需保持网络连接,也可以在本地项目配置Jquery。