Java Web項目創(chuàng)建并實現(xiàn)前后端交互
一:使用工具
Eclipse
版本如下:

注:不同版本的eclipse創(chuàng)建的項目基礎(chǔ)目錄可能會有所不同。
二:創(chuàng)建Java Web項目
1. File --> New --> Dynamic Web Project

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


到這里一個基礎(chǔ)的JavaWeb項目就已經(jīng)創(chuàng)建好啦。
創(chuàng)建完成后是這樣的:

接下來就需要我們?nèi)ヌ畛渌鼇韺崿F(xiàn)一些基本的功能。
三:編寫代碼
1.用HTML編寫一個簡單的前端界面
首先在WebContent目錄下新建一個html文件(注意是在WebContent目錄下,而不是在META-INF或WEB-INF目錄下)。
創(chuàng)建好之后是這樣的:

先寫一個最簡單的登錄界面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄</title>
</head>
<body>
賬號:<input type="text"><br><br>
密碼:<input type="text"><br><br>
<input type="button" value="登錄">
</body>
</html>之后我們還需要在web.xml中<welcome-file-list>的下面新增一行代碼來讓瀏覽器讀取這個html文件。
<welcome-file>login.html</welcome-file>
然后我們來測試一下。
測試方法:
項目總文件右鍵 --> Run As --> Run On server

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

為了測試方便,我們可以修改頁面顯示的地方。
這里可以隨意修改,可以使用1 系統(tǒng)瀏覽器,也可以選擇3 Chrome。
修改之后一定要記得重新啟動Eclipse。

2.用Java編寫后端
同上,我們還是得建一個Servlet文件,先在Java Resources里的src包里新建一個包,然后在包里再新建Servlet文件。
先建包是為了給后端的代碼分類,方便后期管理。

3.前后端實現(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(){
//獲取賬號密碼
var username = $(".username").val()
var password = $(".password").val()
//發(fā)起請求
$.ajax({
url:"/JavaWeb/LoginServlet", //請求地址
type:"get", //請求方式
data:{ //發(fā)送數(shù)據(jù)
username:username,
password:password
},
success:function(data){ //請求成功的回調(diào)函數(shù)
alert(data.username + "的密碼為" + data.password)
},
error:function(data){ //請求失敗的回調(diào)函數(shù)
alert("錯誤了!")
}
})
})
})
</script>
</head>
<body>
賬號:<input type="text" class="username" ><br><br>
密碼:<input type="text" class="password"><br><br>
<input type="button" value="登錄" class="btn">
</body>
</html>在寫前端代碼的時候我們用到了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") //引號內(nèi)的為前端引用時的名稱,可任意修改
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("前端傳過來的賬號:"+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);
}
}這樣的話一個簡單的Java Web項目就建好啦。
到此這篇關(guān)于Java Web項目創(chuàng)建并實現(xiàn)前后端交互的文章就介紹到這了,更多相關(guān)Java Web前后端交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 反射 動態(tài)調(diào)用不同類的靜態(tài)方法(推薦)
下面小編就為大家?guī)硪黄狫AVA 反射 動態(tài)調(diào)用不同類的靜態(tài)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Spring Boot優(yōu)化后啟動速度快到飛起技巧示例
這篇文章主要為大家介紹了Spring Boot優(yōu)化后啟動速度快到飛起的技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
MyBatis實現(xiàn)簡單的數(shù)據(jù)表分月存儲
本文主要介紹了MyBatis實現(xiàn)簡單的數(shù)據(jù)表分月存儲,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
使用spring框架實現(xiàn)數(shù)據(jù)庫事務(wù)處理方式
這篇文章主要介紹了使用spring框架實現(xiàn)數(shù)據(jù)庫事務(wù)處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
基于mybatis-plus timestamp返回為null問題的排除
這篇文章主要介紹了mybatis-plus timestamp返回為null問題的排除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08

