国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Web Front-end JS Tutorial Servlet3.0+JS for Ajax interaction

Servlet3.0+JS for Ajax interaction

Jun 15, 2018 pm 03:21 PM

This time I will bring you Servlet3.0 JS for Ajax interaction. What are the precautions for Servlet3.0 JS for Ajax interaction? The following is a practical case, let’s take a look.

Although js.html is a purely static page, the following program must be hung on the Tomcat server to achieve Ajax interaction, otherwise the effect will not be seen.

Eclipse for javaee pay attention to hanging the completed project on Tomcat before running Tomcat.

In addition to the necessary Servlet package for JSP, this project does not need to introduce other things. In fact, I want to directly use a JSP page to complete this project, but nowadays, basically no one who is engaged in JSP writes things directly in the .jsp file, right? All background actions are thrown into .java.

1. Basic goal

Pass the input in the front-end js.html input box to the back-end with the name ajaxRequest and the address/ajaxRequest Servlet.java. The Servlet.java background then returns the corresponding information to the front-end js.html. The js.html does not refresh or jump, and responds immediately.

2. Basic idea

Since it is Servlet3.0, you can use annotations to write Servlets, and you don’t need to write anything in web.xml. Directly let Eclipse generate

and only need to leave the following content in it:

<?xml version="1.0" encoding="UTF-8"?>?
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
  version="3.0">?
</web-app>

3. Production process

1. First It doesn’t matter whether you write Servlet.java or js.html. Anyway, in Ajax interaction, these two are integrated and cannot be separated.

Look at js.html first. The HTML layout part is very simple. There is not even a form, only two input boxes.

When creating the Ajax object XMLHttpRequest, be careful not to use the XMLHttpRequest keyword as the name of the Ajax object XMLHttpRequest, otherwise some browsers cannot process it.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">?
<html xmlns="http://www.w3.org/1999/xhtml">?
<head>?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />?
<title>Js</title>?
</head>?
?
<body>?
??<input type="text" id="param1" />?
??<input type="text" id="param2" />?
??<button onclick="ajax()">Go!</button>?
</body>?
</html>?
<script>?
??//創(chuàng)建Ajax對象,不同瀏覽器有不同的創(chuàng)建方法,其實(shí)本函數(shù)就是一個簡單的new語句而已。??
??function?createXMLHttpRequest()?{?
????var?XMLHttpRequest1;?
????if?(window.XMLHttpRequest)?{?
??????XMLHttpRequest1?=?new?XMLHttpRequest();?
????}?else?if?(window.ActiveXObject)?{?
??????try?{?
????????XMLHttpRequest1?=?new?ActiveXObject("Msxml2.XMLHTTP");?
??????}?catch?(e)?{?
????????XMLHttpRequest1?=?new?ActiveXObject("Microsoft.XMLHTTP");?
??????}?
????}?
????return?XMLHttpRequest1;?
??}?
??function?ajax()?{?
????//param1與param2就是用戶在輸入框的兩個參數(shù)?
????var?param1=document.getElementById("param1").value;?
????var?param2=document.getElementById("param2").value;?
????var?XMLHttpRequest1?=?createXMLHttpRequest();?
????//指明相應(yīng)頁面??
????var?url?=?"./ajaxRequest";?
????XMLHttpRequest1.open("POST",?url,?true);?
????//這里沒法解釋,你所有JavaScript的請求頭都這樣寫就對了,不會亂碼??
????XMLHttpRequest1.setRequestHeader("Content-Type",?
????????"application/x-www-form-urlencoded");?
????//對于ajaxRequest,本js.html將會傳遞param1與param2給你。??
????XMLHttpRequest1.send("param1="?+?param1?+?"?m2="?+?param2);?
????//對于返回結(jié)果怎么處理的問題??
????XMLHttpRequest1.onreadystatechange?=?function()?{?
??????//這個4代表已經(jīng)發(fā)送完畢之后??
??????if?(XMLHttpRequest1.readyState?==?4)?{?
????????//200代表正確收到了返回結(jié)果??
????????if?(XMLHttpRequest1.status?==?200)?{?
??????????//彈出返回結(jié)果??
??????????alert(XMLHttpRequest1.responseText);?
????????}?else?{?
??????????//如果不能正常接受結(jié)果,你肯定是斷網(wǎng),或者我的服務(wù)器關(guān)掉了。??
??????????alert("網(wǎng)絡(luò)連接中斷!");?
????????}?
??????}?
????};?
??}?
</script>

2. Next is Servlet.java. In fact, both doGet and doPost print things on the page, but they take this different form. PrintStream is the output stream of the previous JDK, and PrintWriter seems to be the output stream after JDK1.4. But this part is too simple. Input and output streams are all required courses in Java, right?
js.html After passing param1 and param2 to this Servlet.java, wait for this Servlet.java to print out the corresponding things, and then read them directly through the XMLHttpRequest1.responseText variable in the front desk.

package?jsServletAjax;?
import?java.io.*;??
import?javax.servlet.*;??
import?javax.servlet.http.*;??
import?javax.servlet.annotation.*;??
??
//說明這個Servlet是沒有序列號的??
@SuppressWarnings("serial")??
//說明這個Servlet的名稱是ajaxRequest,其地址是/ajaxRequest?
//這與在web.xml中設(shè)置是一樣的??
@WebServlet(name?=?"ajaxRequest",?urlPatterns?=?{?"/ajaxRequest"?})??
public?class?Servlet?extends?HttpServlet?{??
??//放置用戶之間通過直接在瀏覽器輸入地址訪問這個servlet??
??protected?void?doGet(HttpServletRequest?request,??
??????HttpServletResponse?response)?throws?ServletException,?IOException?{??
????PrintStream?out?=?new?PrintStream(response.getOutputStream());??
????response.setContentType("text/html;charSet=utf-8");??
????out.print("請正常打開此頁");?
??}??
??
??protected?void?doPost(HttpServletRequest?request,??
??????HttpServletResponse?response)?throws?ServletException,?IOException?{?
????response.setContentType("text/html;?charset=utf-8");?
????PrintWriter?pw?=?response.getWriter();?
????request.setCharacterEncoding("utf-8");?
????String?param1=request.getParameter("param1");?
????String?param2=request.getParameter("param2");?????
????pw.print("前臺傳來了參數(shù):param1="+param1+",param2="+param2);?
????pw.flush();?
????pw.close();?
??}??
}

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Use vue to implement tree menu bar function

preload() function and image upload usage

The above is the detailed content of Servlet3.0+JS for Ajax interaction. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Java vs. JavaScript: Clearing Up the Confusion Java vs. JavaScript: Clearing Up the Confusion Jun 20, 2025 am 12:27 AM

Java and JavaScript are different programming languages, each suitable for different application scenarios. Java is used for large enterprise and mobile application development, while JavaScript is mainly used for web page development.

Javascript Comments: short explanation Javascript Comments: short explanation Jun 19, 2025 am 12:40 AM

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

How to work with dates and times in js? How to work with dates and times in js? Jul 01, 2025 am 01:27 AM

The following points should be noted when processing dates and time in JavaScript: 1. There are many ways to create Date objects. It is recommended to use ISO format strings to ensure compatibility; 2. Get and set time information can be obtained and set methods, and note that the month starts from 0; 3. Manually formatting dates requires strings, and third-party libraries can also be used; 4. It is recommended to use libraries that support time zones, such as Luxon. Mastering these key points can effectively avoid common mistakes.

Why should you place  tags at the bottom of the ? Why should you place tags at the bottom of the ? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript vs. Java: A Comprehensive Comparison for Developers JavaScript vs. Java: A Comprehensive Comparison for Developers Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

What is event bubbling and capturing in the DOM? What is event bubbling and capturing in the DOM? Jul 02, 2025 am 01:19 AM

Event capture and bubble are two stages of event propagation in DOM. Capture is from the top layer to the target element, and bubble is from the target element to the top layer. 1. Event capture is implemented by setting the useCapture parameter of addEventListener to true; 2. Event bubble is the default behavior, useCapture is set to false or omitted; 3. Event propagation can be used to prevent event propagation; 4. Event bubbling supports event delegation to improve dynamic content processing efficiency; 5. Capture can be used to intercept events in advance, such as logging or error processing. Understanding these two phases helps to accurately control the timing and how JavaScript responds to user operations.

JavaScript: Exploring Data Types for Efficient Coding JavaScript: Exploring Data Types for Efficient Coding Jun 20, 2025 am 12:46 AM

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

What's the Difference Between Java and JavaScript? What's the Difference Between Java and JavaScript? Jun 17, 2025 am 09:17 AM

Java and JavaScript are different programming languages. 1.Java is a statically typed and compiled language, suitable for enterprise applications and large systems. 2. JavaScript is a dynamic type and interpreted language, mainly used for web interaction and front-end development.

See all articles