最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Web項(xiàng)目創(chuàng)建并實(shí)現(xiàn)前后端交互

 更新時(shí)間:2023年07月17日 09:05:25   作者:蘇禾呀  
本文主要介紹了Java Web項(xiàng)目創(chuàng)建并實(shí)現(xiàn)前后端交互,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一:使用工具

Eclipse

版本如下:

 注:不同版本的eclipse創(chuàng)建的項(xiàng)目基礎(chǔ)目錄可能會(huì)有所不同。

二:創(chuàng)建Java Web項(xiàng)目

1.  File --> New --> Dynamic Web Project

2. 輸入項(xiàng)目名稱 --> 配置Tomcat --> Next --> Next -->勾選Generate Web.xml deployment descriptor --> Finish 

 

 到這里一個(gè)基礎(chǔ)的JavaWeb項(xiàng)目就已經(jīng)創(chuàng)建好啦。

創(chuàng)建完成后是這樣的:

 接下來就需要我們?nèi)ヌ畛渌鼇韺?shí)現(xiàn)一些基本的功能。

三:編寫代碼

1.用HTML編寫一個(gè)簡(jiǎn)單的前端界面

首先在WebContent目錄下新建一個(gè)html文件(注意是在WebContent目錄下,而不是在META-INF或WEB-INF目錄下)。

創(chuàng)建好之后是這樣的:

 先寫一個(gè)最簡(jiǎn)單的登錄界面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄</title>
</head>
<body>
    賬號(hào):<input type="text"><br><br>
	密碼:<input type="text"><br><br>
	<input type="button" value="登錄">
</body>
</html>

之后我們還需要在web.xml中<welcome-file-list>的下面新增一行代碼來讓瀏覽器讀取這個(gè)html文件。

<welcome-file>login.html</welcome-file>

然后我們來測(cè)試一下。

測(cè)試方法:

項(xiàng)目總文件右鍵 --> Run As --> Run On server

現(xiàn)在就出來了下面的樣子。

為了測(cè)試方便,我們可以修改頁面顯示的地方。

這里可以隨意修改,可以使用1 系統(tǒng)瀏覽器,也可以選擇3 Chrome。

修改之后一定要記得重新啟動(dòng)Eclipse。

2.用Java編寫后端

同上,我們還是得建一個(gè)Servlet文件,先在Java Resources里的src包里新建一個(gè)包,然后在包里再新建Servlet文件。

先建包是為了給后端的代碼分類,方便后期管理。

3.前后端實(shí)現(xiàn)交互

前端代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄</title>
<script src="/JavaWeb/resource/js/jquery.js"></script>
<script>
	$(function(){
		$(".btn").on("click",function(){
			//獲取賬號(hào)密碼
			var username = $(".username").val()
			var password = $(".password").val()
			//發(fā)起請(qǐng)求
			$.ajax({
				url:"/JavaWeb/LoginServlet",  //請(qǐng)求地址
				type:"get",  //請(qǐng)求方式
				data:{   //發(fā)送數(shù)據(jù)
					username:username,
					password:password
				},
				success:function(data){  //請(qǐng)求成功的回調(diào)函數(shù)
					alert(data.username + "的密碼為" + data.password)
				},
				error:function(data){  //請(qǐng)求失敗的回調(diào)函數(shù)
					alert("錯(cuò)誤了!")
				}
			})
		})
	})
</script>
</head>
<body>
	賬號(hào):<input type="text" class="username" ><br><br>
	密碼:<input type="text" class="password"><br><br>
	<input type="button" value="登錄" class="btn">
</body>
</html>

在寫前端代碼的時(shí)候我們用到了jQuery,所以我們需要把它加進(jìn)來,放在這里。

js源碼可自行百度。

后端代碼:

package com.Mango;
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;
/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/LoginServlet") //引號(hào)內(nèi)的為前端引用時(shí)的名稱,可任意修改
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    /**
     * Default constructor. 
     */
    public LoginServlet() {
        // TODO Auto-generated constructor stub
    }
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//設(shè)置前端傳過來的數(shù)據(jù)字符編碼
		request.setCharacterEncoding("utf-8");
		//設(shè)置后端傳給前端響應(yīng)數(shù)據(jù)的字符編碼
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/json;charset=utf-8");
		//接收前端傳過來的數(shù)據(jù)
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		System.out.println("前端傳過來的賬號(hào):"+username);
		System.out.println("前端傳過來的密碼:"+password);
		//后端給前端相應(yīng)json字符串
		String json = "{\"username\":\"" + username + "\",\"password\":\"" + password + "\"}";
		response.getWriter().write(json);
	}
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}
}

這樣的話一個(gè)簡(jiǎn)單的Java Web項(xiàng)目就建好啦。

到此這篇關(guān)于Java Web項(xiàng)目創(chuàng)建并實(shí)現(xiàn)前后端交互的文章就介紹到這了,更多相關(guān)Java Web前后端交互內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Java中對(duì)象序列化與反序列化

    詳解Java中對(duì)象序列化與反序列化

    這篇文章主要為大家詳細(xì)介紹了Java中對(duì)象序列化與反序列化,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    第三方網(wǎng)站微信登錄java代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了第三方網(wǎng)站微信登錄的java代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Java并發(fā)利器CountDownLatch深度解析與實(shí)戰(zhàn)應(yīng)用小結(jié)

    Java并發(fā)利器CountDownLatch深度解析與實(shí)戰(zhàn)應(yīng)用小結(jié)

    CountDownLatch就像一個(gè)倒計(jì)時(shí)器,當(dāng)所有任務(wù)完成后,主線程才繼續(xù)執(zhí)行,本文將通過簡(jiǎn)單易懂的方式,帶你掌握這個(gè)強(qiáng)大的并發(fā)工具,需要的朋友可以參考下
    2025-06-06
  • 基于SpringBoot實(shí)現(xiàn)一個(gè)簡(jiǎn)易加法計(jì)算器

    基于SpringBoot實(shí)現(xiàn)一個(gè)簡(jiǎn)易加法計(jì)算器

    本文詳細(xì)介紹了如何使用SpringBoot實(shí)現(xiàn)一個(gè)簡(jiǎn)易的加法計(jì)算器,主要內(nèi)容包括項(xiàng)目準(zhǔn)備工作、項(xiàng)目設(shè)計(jì)、服務(wù)器代碼編寫以及項(xiàng)目運(yùn)行,通過這個(gè)項(xiàng)目,讀者可以學(xué)習(xí)到SpringBoot控制器編寫、請(qǐng)求映射配置等核心技能,需要的朋友可以參考下
    2026-01-01
  • SpringBoot如何獲取圖片的寬高

    SpringBoot如何獲取圖片的寬高

    本文介紹了Java中獲取圖片寬高尺寸的三種方法:使用BufferedImage、Image類和更底層的字節(jié)流方式,BufferedImage和Image類適用于大多數(shù)情況,而字節(jié)流方式則適用于特定格式的高性能場(chǎng)景,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • Java Scanner用法案例詳解

    Java Scanner用法案例詳解

    這篇文章主要介紹了Java Scanner用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 簡(jiǎn)單易懂Java反射的setAccessible()方法

    簡(jiǎn)單易懂Java反射的setAccessible()方法

    本文主要介紹了簡(jiǎn)單易懂Java反射的setAccessible()方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java設(shè)計(jì)模式之責(zé)任鏈模式

    Java設(shè)計(jì)模式之責(zé)任鏈模式

    今天小編就為大家分享一篇關(guān)于Java設(shè)計(jì)模式之責(zé)任鏈模式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • SpringBoot結(jié)合Tess4J實(shí)現(xiàn)拍圖識(shí)字的示例代碼

    SpringBoot結(jié)合Tess4J實(shí)現(xiàn)拍圖識(shí)字的示例代碼

    圖片中的文字提取已經(jīng)越來越多地應(yīng)用于數(shù)據(jù)輸入和自動(dòng)化處理過程,本文主要介紹了SpringBoot結(jié)合Tess4J實(shí)現(xiàn)拍圖識(shí)字的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 學(xué)習(xí)java一定要知道的垃圾收集器

    學(xué)習(xí)java一定要知道的垃圾收集器

    這篇文章主要介紹了學(xué)習(xí)java一定要知道的垃圾收集器,垃圾收集器的發(fā)展路線,簡(jiǎn)單來說是隨著內(nèi)存越來越大而發(fā)生變化,更多相關(guān)介紹需要的朋友可以參考一下
    2022-07-07

最新評(píng)論

岢岚县| 博罗县| 永善县| 平遥县| 开阳县| 泰州市| 雷波县| 江达县| 红桥区| 仙桃市| 剑河县| 阿瓦提县| 嵩明县| 江阴市| 东阿县| 临颍县| 浦县| 儋州市| 浪卡子县| 汉阴县| 丰原市| 东丽区| 离岛区| 廊坊市| 柏乡县| 神木县| 萨迦县| 小金县| 大丰市| 黎城县| 施秉县| 咸丰县| 定州市| 新丰县| 清远市| 泗阳县| 德阳市| 通许县| 云林县| 安丘市| 广宗县|