国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)

這篇具有很好參考價值的文章主要介紹了Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面

本文主要的內(nèi)容是完成網(wǎng)頁登錄頁面設計,以及判斷用戶名密碼是否正確,如果正確,進入下一頁面,并輸出sessionID,若錯誤,則在登錄頁面給出用戶名或密碼錯誤提示,并在登錄頁面顯示訪問次數(shù)。

登錄頁面

任務一:完成登錄頁面設計

登錄頁面(userLogin.jsp)

  • 用戶名輸入框
  • 密碼輸入框
  • 提交內(nèi)容到登錄處理頁面(loginSuccess.jsp)

使用html中的<form>標簽

<form method="post" action="loginSuccess.jsp">

...

</form>

此標簽可以將在標簽范圍內(nèi)input的內(nèi)容通過post方式轉發(fā)到action地址中,action="url(地址)"

<input type="text" name="userName">

此標簽表示創(chuàng)建一個輸入框,這個輸入框的內(nèi)容輸入的是文本,即text,該輸入框的名字被命名為userName。

<input type="password" name="password">

相似地,創(chuàng)建一個輸入框,此輸入框輸入密碼,即不可見,輸入后會以圓點代替,該輸入框的名字被命名為password

捕獲來自當前請求中的mess內(nèi)存儲的信息,將其賦值給當前的頁面變量mess,(這兩個mess并不相同)

將mess信息用<p>標簽輸出出來

代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄頁面</title>
</head>
<body>
<%
    		String mess = null;
		if(request.getAttribute("mess")!=null){
			mess = (String)request.getAttribute("mess");
		}
%>

<form method="post" action="loginSuccess.jsp">
	<label>userName:</label>
	<input type="text" name="userName"  ><br>
	<label>password:</label>
	<input type="password" name="password" ><br>
	<input type="submit" value="登錄" >
	<p sytle="color: red"><%= mess != null ? mess : "" %></p>
</form>

</body>
</html>

登錄處理頁面(loginSuccess.jsp)

在該頁面中,我們需要判斷用戶輸入的用戶名與密碼是否與正確,這里我們設置,正確的用戶名為:“系統(tǒng)管理員”,正確密碼為:“123”。

<%@ page language="java" contentType="text/html; charset=UTF=8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginSuccess</title>
</head>
<body>
<%
	request.setCharacterEncoding("UTF-8");//解決提交方式post時,中文亂碼問題
	String userName = null;
	String userPwd = null;
	if(request.getParameter("userName")!=null){
		userName=request.getParameter("userName");
		userPwd = request.getParameter("password");		
	}
	if(userName.equals("系統(tǒng)管理員")&&userPwd.equals("123")){
		//當用戶名和密碼正確時
		request.setAttribute("mess", "登陸成功");

		//進入index.jsp頁面
		response.sendRedirect("index.jsp");		
	}else{
		//當用戶名或密碼不正確時
		request.setAttribute("mess", "用戶名或密碼錯誤");
		request.getRequestDispatcher("userLogin.jsp").forward(request, response);
	}
%>
<h3>userName:<%= userName %></h3>
<h3>password:<%= request.getParameter("password") %></h3>
</body>
</html>

在該代碼中:

用<%? %>括起來的代碼為Java代碼,在這里,我們完成一些動態(tài)的操作:

if(request.getParameter("userName")!=null)判斷輸入的用戶名是否為空,若不為空,則獲取內(nèi)容。

if(userName.equals("系統(tǒng)管理員")&&userPwd.equals("123"))判斷輸入的用戶名和密碼是否正確,若正確,則:

?request.setAttribute("mess", "登陸成功");將“登錄成功”字符串賦給mess,存儲在當前請求中。則其它頁面可以通過request.getAttribute("mess",mess)將請求中得mess捕獲,放在自己頁面的變量mess中。

response.sendRedirect("index.jsp");通過轉發(fā)跳轉至index.jsp

至于index中有什么,我們后續(xù)再說

若錯誤,則:
request.setAttribute("mess", "用戶名或密碼錯誤");
request.getRequestDispatcher("userLogin.jsp").forward(request, response);

同樣的,將“用戶名或密碼錯誤”字符串賦給請求的mess中,下一條代碼是通過重定向找到相應的位置,在此代碼中,將重定向返回userLogin.jsp地址,并返回當前請求以及回應。(當前請求中包含了剛剛儲存的mess)

效果

至此,我們完成了登錄以及處理登錄的情況。打開tomcat服務器,如下圖所示:

Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)

?頁面被訪問了:11次? ?這段先不管他,我們后面再完成此任務,先輸入錯誤的代碼:

Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)

?在當前頁面輸出“用戶名或密碼錯誤”。這個字符串是在登錄處理頁面經(jīng)過判斷后得出的字符串,通過getAttribute()方法在當前頁面捕獲,然后輸出出來。

任務二:

完成index.jsp頁面,輸出當前會話(session)ID,并捕獲當前用戶的用戶名輸出出來

先上代碼:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index</title>
</head>
<body>
<%
	String userName = (String)session.getAttribute("userName");
	String userPwd = (String)session.getAttribute("userPwd");
	session.setMaxInactiveInterval(3*60);//設置session失效時間
%>
<h1>index</h1>
<h1>welcome user: <%= userName != null ? userName : ""%></h1>

<p>sessionId: <%= session.getId() %></p>

</body>
</html>

?在之前登錄頁面以及登錄處理頁面時,我們使用request來捕獲信息,現(xiàn)在我們使用session來捕獲信息。

會話(session):一段時間內(nèi),單個客戶端與Web服務器的一連串相關交互過程。

在一個會話中,客戶端可能會多次請求訪問一個頁面,也有可能請求訪問各種不同的服務器資源,服務器會為該用戶創(chuàng)建唯一的會話,會話將已知延續(xù)到用戶訪問結束(瀏覽器關閉可以結束會話)。

會話的結束可以是關閉瀏覽器,也可以是設置一段時間,若在這段時間內(nèi)未產(chǎn)生過請求,則服務器會自動關閉該會話。

在index.jsp中,我們設置了session.setMaxInactiveInterval(3*60);即3min未發(fā)送過請求,則關閉會話。

通過會話捕獲信息:

String userName = (String)session.getAttribute("userName");
String userPwd = (String)session.getAttribute("userPwd");

相應地,如果想要用會話捕捉信息,則必須先給出信息,因此,我們返回登錄處理頁面,若當我們登錄成功時,我們將用戶名與密碼通過session給出。

在登錄成功判斷中加上如下語句:

session.setAttribute("userName", userName);
session.setAttribute("userPwd",userPwd);

將用戶名輸出出來,

使用session.getId()方法獲取sessionID,將ID輸出出來

效果:

Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)

?注銷按鈕先不用管。

在此頁面中,我們將用戶名輸出出來,并將sessionID輸出出來。

這篇博客先發(fā)兩個任務的解法,下一篇再發(fā)另外的任務。文章來源地址http://www.zghlxwxcb.cn/news/detail-416917.html

到了這里,關于Java學習day3——Javaweb登錄頁面設計(1)(含JSP代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 代碼隨想錄Day3|鏈表理論基礎|203.移除鏈表元素|707.設計鏈表|206.反轉鏈表

    雖然以前寫過一次鏈表,但是真的已經(jīng)忘得一干二凈了 鏈表 :通過 指針 串聯(lián)在一起的線性結構,每個 節(jié)點 都由數(shù)據(jù)域和指針域組成。 指針域 :存放下一個節(jié)點的指針,最后一個節(jié)點的指針域指向null,也即空指針 head :鏈表的入口節(jié)點,也即鏈表的頭節(jié)點 鏈表的類型 單

    2024年02月11日
    瀏覽(21)
  • JavaWeb中Servlet+jsp+JDBC完成登錄注冊界面

    JavaWeb中Servlet+jsp+JDBC完成登錄注冊界面

    前言 一、登錄注冊思路 二、前端頁面 1.Login 2.Register 3.UserList界面 三、后端代碼 1.封裝實體類User類 2.Login對應的Servlet(驗證信息功能) 3.Register對應的Servlet(增加功能) 4.工具類(DbUtil) 5.properties文件格式及所在目錄 6.用戶列表(查詢功能)? 總結 例如:學習javaweb過程筆記

    2024年02月08日
    瀏覽(22)
  • 匯川PLC學習Day3:軸控代碼編寫、用戶程序結構說明與任務配置示例、用戶變量空間與編址

    匯川PLC學習Day3:軸控代碼編寫、用戶程序結構說明與任務配置示例、用戶變量空間與編址

    1. 新建軸 (1)新建一個軸 (2)將軸名字更新為實際名字 可以后面實例化后再更改,匯川可以在更新名字時同步更新其他編寫的代碼名字,匯川一大優(yōu)點。 新增軸名為“Axis_1”的伺服,此名在后面代碼只需引用指向即可 最后確定 2. 新建軸控代碼文件 3. 軸功能塊(軸FB)實例

    2024年02月09日
    瀏覽(18)
  • idea新建第一個Javaweb項目,并運行jsp頁面(保姆版)

    idea新建第一個Javaweb項目,并運行jsp頁面(保姆版)

    第一步點擊雙擊打開idea,然后點擊 New Project.名字,項目那些自己看著寫。然后找一個Maven Archetye,然后點擊add,找org.apache.maven.archetypes:maven-archetype-webapp,然后點擊creat.圖片演示如下 當然你還要去安裝JDK,以及配環(huán)境變量,這里不講了。點creat后進來看到的界面是這樣的 然后

    2024年02月03日
    瀏覽(24)
  • 一個簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項目)使用MyBatis:Mapper,servlet+Tomcat

    一個簡單的前后端交互——登錄注冊頁面(升級版)idea代碼篇(2:Maven:Javaweb項目)使用MyBatis:Mapper,servlet+Tomcat

    前言:本篇前后端交互實現(xiàn)代碼 。詳細項目搭建見上篇 先貼一張登錄界面和包結構: ? 1.Mapper 2.pojo 3.util 4.web 5.Login.html 6.CSS 我的企業(yè)版過期了,不能演示跳轉頁面了。但測過沒問題。

    2024年02月11日
    瀏覽(26)
  • 用JSP簡單的寫一個登錄注冊頁面

    編寫頁面時先創(chuàng)建一個Dynamic web project,所有的jsp文件都放在WebContent文件夾下,java文件放在java Resource文件的src文件 因為主要用jsp因此這里用map數(shù)組暫替數(shù)據(jù)庫對用戶信息進行存儲

    2023年04月17日
    瀏覽(24)
  • 用友NC65登錄界面的jsp頁面路徑

    用友NC65登錄界面的jsp頁面路徑

    如上圖,訪問地址 http://127.0.0.1/portal/app/mockapp/login.jsp?lrid=1對應的頁面是哪個呢??相信很多做用友portal端開發(fā)的人可能都沒有研究或者思考過這個問題,或者想過,但是不知道路徑在哪里。你直接按地址欄的地址查,發(fā)現(xiàn)nchome里,并沒有”portal/app/mockapp/“這個路徑。 其實,

    2024年02月15日
    瀏覽(19)
  • jsp +mysql 好看的登錄與注冊頁面 動態(tài)背景

    jsp +mysql 好看的登錄與注冊頁面 動態(tài)背景

    ? 需要建立以下五個文件: ? ? ? ? 在webcontent文件夾下面建立css文件,login.jsp與loginjudge.jsp,registcheck.jsp直接放到webcontent文件夾下面,normalize.min.css與login.css放到css文件里面 數(shù)據(jù)庫我建立的是Td_Snacks,連接數(shù)據(jù)庫賬號和密碼是root,111,不同的請自己修改代碼 建立數(shù)據(jù)庫Td

    2024年02月05日
    瀏覽(22)
  • 微服務學習Day3

    微服務學習Day3

    2024年02月20日
    瀏覽(18)
  • python系統(tǒng)學習Day3

    python函數(shù)的參數(shù)共有五種類型 參數(shù)定義的順序必須是:必選參數(shù), 默認參數(shù), 可變參數(shù), 命名參數(shù), 參數(shù) 理解起來有兩種分類方式:普通參照位置的參數(shù)/、 / 參數(shù), 固定個數(shù)的參數(shù) / 可變參數(shù)。 位置參照在前,固定個數(shù)在前。 部分類型可指定默認值

    2024年02月19日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包