国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP+Servlet+JavaBean實現登錄網頁實例詳解

2020-07-27 21:30:16
字體:
來源:轉載
供稿:網友

本文實例講述了JSP+Servlet+JavaBean實現登錄網頁的方法。分享給大家供大家參考。具體如下:

這里涉及到四個文件:

1. 登錄頁面:login.html
2. 登錄成功歡迎頁面:login_success.jsp
3. 登錄失敗頁面:login_failure.jsp
4. Servlet處理文件:LoginServlet.java

其實還涉及到一個文件:web.xml,這個后面再說:

下面分別介紹這幾個文件:

1. 登錄頁面:login.html

<!-- 該Login頁面是一個簡單的登錄界面 --><!-- 該JSP程序是用來測試與MySQL數據庫的連接, 需要一個數據庫:LearnJSP,和其中一個表:userinfo 表中有兩個字段分別為:UserName varchar (20) not null,UserPwd varchar (20) not null--><html> <head>  <title>登錄</title>  <meta http-equiv="content-type" content="text/html; charset=UTF-8">  <meta http-equiv="Content-Language" content="ch-cn"> </head> <body> <!-- Form 用來提取用戶填入并提交的信息--> <form method="post" name="frmLogin" action="LoginServlet">  <h1 align="center">用戶登錄</h1><br>  <div align="center">用戶名:   <input type="text" name="txtUserName" value="Your name"    size="20" maxlength="20"    onfocus="if(this.value=='Your name')this.value='';"><br>密碼:   <input type="password" name="txtPassword" value="Your password"    size="20" maxlength="20"    onfocus="if(this.value=='Your password')this.value='';"><br>   <input type="submit" name="Submit" value="提交" onClick="validateLogin();" >    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   <input type="reset" name="Reset" value="重置"><br>  </div> </form> <!-- javaScript 函數 validateLogin(),用來驗證用戶名和密碼是否為空 -->  <script language="javaScript">   function validateLogin()   {   var sUserName = document.frmLogin.txtUserName.value;   var sPassword = document.frmLogin.txtPassword.value;   if( sUserName=="" )   {    alert("請輸入用戶名!");    return false;   }   if( sPassword=="" )   {    alert("請輸入密碼!");    return false;   }   }  </script> </body></html>

2. 登錄成功歡迎頁面:login_success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'login_failure.jsp' starting page</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <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> <%  String userName = (String)session.getAttribute ( "UserName" ); %> <div align=center>  <%=userName%>  歡迎您,登錄成功! </div> </body></html>

3. 登錄失敗頁面:login_failure.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'login_failure.jsp' starting page</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <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> <% String userName = (String)session.getAttribute ( "UserName" ); %> <div align=center>  <%=userName%>  對不起,登錄失敗! </div> </body></html>

4. Servlet處理文件:LoginServlet.java

/** * 該JSP程序是用來測試與MySQL數據庫的連接, * 需要一個數據庫:LearnJSP,和其中一個表:userinfo * 表中有兩個字段分別為:UserName varchar (20) not null,UserPwd varchar (20) not null */package zieckey.login.servlet;import java.sql.Statement;import java.io.IOException;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.Servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet implements Servlet{ public LoginServlet () { // TODO Auto-generated constructor stub } /* * (non-Javadoc) * * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ @Override protected void doGet ( HttpServletRequest arg0, HttpServletResponse arg1 )  throws ServletException, IOException { } /* * (non-Javadoc) * * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ @Override protected void doPost ( HttpServletRequest request, HttpServletResponse response )  throws ServletException, IOException { response.setContentType ( "text/html" ); String result = ""; // 獲取用戶名 String sUserName = request.getParameter ( "txtUserName" ); if ( sUserName == "" || sUserName == null || sUserName.length ( ) > 20 ) {  try  {  result = "請輸入用戶名(不超過20字符)!";  request.setAttribute ( "ErrorUserName", result );  response.sendRedirect ( "login.html" );  } catch ( Exception e )  {  } } // 獲取密碼 String sPasswd = request.getParameter ( "txtPassword" ); if ( sPasswd == "" || sPasswd == null || sPasswd.length ( ) > 20 ) {  try  {  result = "請輸入密碼(不超過20字符)!";  request.setAttribute ( "ErrorPassword", result );  response.sendRedirect ( "login.html" );  } catch ( Exception e )  {  } } // 登記JDBC驅動程序 try {  Class.forName ( "org.gjt.mm.mysql.Driver" ).newInstance ( ); } catch ( InstantiationException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( );  System.out.println ("InstantiationException"); } catch ( IllegalAccessException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( );  System.out.println ("IllegalAccessException"); } catch ( ClassNotFoundException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( );  System.out.println ("ClassNotFoundException"); } // 連接參數與Access不同 String url = "jdbc:mysql://localhost/LearnJSP"; // 建立連接 java.sql.Connection connection = null; Statement stmt = null; ResultSet rs = null; try {  connection = DriverManager.getConnection ( url, "root", "011124" );  stmt = connection.createStatement ( );  // SQL語句  String sql = "select * from userinfo where username='" + sUserName   + "' and userpwd = '" + sPasswd + "'";  rs = stmt.executeQuery ( sql );// 返回查詢結果 } catch ( SQLException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( ); } try {  if ( rs.next ( ) )// 如果記錄集非空,表明有匹配的用戶名和密碼,登陸成功  {  // 登錄成功后將sUserName設置為session變量的UserName  // 這樣在后面就可以通過 session.getAttribute("UserName") 來獲取用戶名,  // 同時這樣還可以作為用戶登錄與否的判斷依據  request.getSession ( ).setAttribute ( "UserName", sUserName );  response.sendRedirect ( "login_success.jsp" );  } else  {  // 否則登錄失敗  //response.sendRedirect ( "MyJsp.jsp" );  response.sendRedirect ( "login_failure.jsp" );  } } catch ( SQLException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( ); } try {  if ( null!=rs )  {  rs.close ( );  }  if ( null!=stmt )  {  stmt.close ( );  }  if ( null!=connection )  {  connection.close ( );  } } catch ( SQLException e ) {  // TODO Auto-generated catch block  e.printStackTrace ( ); } } /** * */ private static final long serialVersionUID = 1L;}

為了讓這個網站正常運行還要到web.xml中注冊一下,
現該文件內容修改如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet>  <display-name>LoginServlet</display-name>  <servlet-name>LoginServlet</servlet-name>  <servlet-class>zieckey.login.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping>  <servlet-name>LoginServlet</servlet-name>  <url-pattern>/LoginServlet</url-pattern> </servlet-mapping></web-app>

好了,這幾個文件就可以構成我們的這個登錄界面了.

注意事項:

1. 文件目錄形式

login.html,login_success.html,login_failure.html這三個文件放在同一目錄,
LoginServlet.java該文件的字節碼文件LoginServlet.class放在WEB-INF/classes目錄下(注意jar包順序)
現在整個工程的目錄形式是:
M:/Tomcat5.5/webapps/JSP_Servlet_JavaBean_Login 的目錄
007-01-18  15:16    <DIR>          META-INF
007-01-18  15:16    <DIR>          WEB-INF
007-01-18  16:17             1,801 login.html
007-01-18  15:48               858 login_failure.jsp
007-01-18  15:40               234 login_success.html
007-01-18  15:46               781 MyJsp.jsp
007-01-18  16:12               859 login_success.jsp
M:/Tomcat5.5/webapps/JSP_Servlet_JavaBean_Login/WEB-INF 的目錄
007-01-18  15:16    <DIR>          classes
007-01-18  15:16    <DIR>          lib
007-01-18  16:21               606 web.xml
M:/Tomcat5.5/webapps/JSP_Servlet_JavaBean_Login/WEB-INF/classes/zieckey/login/servlet 的目錄
2007-01-18  16:18             3,900 LoginServlet.class

2. 其他注意事項

數據庫MySQL服務器程序要先啟動起來.

希望本文所述對大家的JSP程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明溪县| 华宁县| 汾阳市| 凤庆县| 庄河市| 沙雅县| 碌曲县| 微博| 佛山市| 涞源县| 唐河县| 雷波县| 宿迁市| 垣曲县| 古丈县| 林甸县| 绥德县| 太原市| 平原县| 喀什市| 固原市| 乾安县| 宣城市| 石首市| 水城县| 攀枝花市| 佛坪县| 甘洛县| 临沧市| 天门市| 商河县| 宿迁市| 新源县| 沙坪坝区| 临颍县| 浪卡子县| 木兰县| 淮安市| 阿尔山市| 甘肃省| 华池县|