我是Web应用程序和Servlet的新手,我有以下问题:
每当我在Servlet中打印某些内容并由网络浏览器调用它时,它将返回一个包含该文本的新页面。 有没有一种方法可以使用Ajax在当前页面中打印文本?
#1楼
我将向您展示servlet的整个示例以及ajax调用的方式。
在这里,我们将创建一个简单的示例,以使用servlet创建登录表单。
index.html
Name:
Password:
这是ajax示例
$.ajax
({
type: "POST",
data: 'LoginServlet='+name+'&name='+type+'&pass='+password,
url: url,
success:function(content)
{
$('#center').html(content);
}
});
LoginServlet Servlet代码:-
package abc.servlet;
import java.io.File;
public class AuthenticationServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
try{
HttpSession session = request.getSession();
String username = request.getParameter("name");
String password = request.getParameter("pass");
/// Your Code
out.println("sucess / failer")
} catch (Exception ex) {
// System.err.println("Initial SessionFactory creation failed.");
ex.printStackTrace();
System.exit(0);
}
}
}
#2楼
$.ajax({
type: "POST",
url: "url to hit on servelet",
data: JSON.stringify(json),
dataType: "json",
success: function(response){
// we have the response
if(response.status == "SUCCESS"){
$('#info').html("Info has been added to the list successfully.
"+
"The Details are as follws :
Name : ");
}else{
$('#info').html("Sorry, there is some thing wrong with the data provided.");
}
},
error: function(e){
alert('Error: ' + e);
}
});
#3楼
Ajax(也是AJAX,是异步JavaScript和XML的首字母缩写)是一组相互关联的Web开发技术,用于客户端以创建异步Web应用程序。 使用Ajax,Web应用程序可以异步向服务器发送数据和从服务器检索数据。下面是示例代码:
Jsp页面Java脚本函数使用两个变量firstName和lastName将数据提交到servlet:
function onChangeSubmitCallWebServiceAJAX()
{
createXmlHttpRequest();
var firstName=document.getElementById("firstName").value;
var lastName=document.getElementById("lastName").value;
xmlHttp.open("GET","/AJAXServletCallSample/AjaxServlet?firstName="
+firstName+"&lastName="+lastName,true)
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.send(null);
}
Servlet读取以xml格式发送回jsp的数据(您也可以使用文本。只需要将响应内容更改为文本并在javascript函数上呈现数据即可。)
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String firstName = request.getParameter("firstName");
String lastName = request.getParameter("lastName");
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("");
response.getWriter().write(""+firstName+"");
response.getWriter().write(""+lastName+"");
response.getWriter().write("");
}
#4楼
使用引导多选
阿贾克斯
function() { $.ajax({
type : "get",
url : "OperatorController",
data : "input=" + $('#province').val(),
success : function(msg) {
var arrayOfObjects = eval(msg);
$("#operators").multiselect('dataprovider',
arrayOfObjects);
// $('#output').append(obj);
},
dataType : 'text'
});}
}
在Servlet中
request.getParameter("input")
#5楼
通常,您无法从servlet更新页面。 客户端(浏览器)必须请求更新。 Eiter客户端加载整个新页面,或者请求更新现有页面的一部分。 这种技术称为Ajax。