javascript与jsp发送请求到servlet的几种方式实例

 更新时间:2018年03月18日 17:47:11   投稿:wdc  
本文分别给出了javascript发送请求到servlet的5种方式实例与 jsp发送请求到servlet的6种方式实例

JavaScript提交至servlet 5种方式:

/**第一种提交方式
 * */
function submitForm1(){

  window.location.href="TestServlet?param=hrefMethod" rel="external nofollow" ;
}
/**第二种提交方式
 * */
function submitForm2(){

  var form=document.forms[0];
  form.action="TestServlet?param=formMethod";
  form.submit();
}

/**
 *第三种提交方式
 */
var xmlHttp; 
//创建xmlHttp 
function createXMLHttpRequest(){


  if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlHttp=new XMLHttpRequest();
  }else {// code for IE6, IE5
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
} 

//Ajax使用get方式发送 
function submitForm3(){ 

  createXMLHttpRequest();
  var queryString="TestServlet2?"; 
  queryString=queryString+"&param=" + new Date().getTime(); 
  xmlHttp.onreadystatechange=handleStateChange; 
  xmlHttp.open("GET",queryString,true); 
  xmlHttp.send(null); 
} 

//Ajax使用post方式发送 
function submitForm4(){

  createXMLHttpRequest(); 
  var url="TestServlet2?param=" + new Date().getTime(); 
  xmlHttp.open("POST",url,true); 
  xmlHttp.onreadystatechange=handleStateChange; 
  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
  xmlHttp.send("nihao");
} 

function handleStateChange(){ 

  if(xmlHttp.readyState==4){ 
    //解析返回值
    if(xmlHttp.status==200){
      var responseText=document.createTextNode(xmlHttp.responseText);
      alert("后台返回的返回值: "+xmlHttp.responseText);
    } 
  } 
} 
/**第五种方式 post提交
 * @param to
 * @param p
 */
function submitForm5() {

  var myForm=document.createElement("form")
  var params={"param":"zs","param2":"li"};
  myForm.method = "post";
  myForm.action = "TestServlet";
  myForm.style.display = "none";
  for ( var k in params) {
    var myInput = document.createElement("input");
    myInput.name= k;
    myInput.value= params[k];
    myForm.appendChild(myInput);
  }
  document.body.appendChild(myForm);
  myForm.submit();
  //document.body.removeChild(myForm);
  return myForm;
}

jsp提交至servlet的6种方式:

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- 方式四 -->
<!-- <meta http-equiv="refresh" content="0; url=TestServlet?param=方式四"> -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<!-- 方式一 -->
<%-- 
<%
 RequestDispatcher rd = getServletContext().getRequestDispatcher("/TestServlet?param=方式一");
 rd.forward(request, response);
%> --%>


<!-- 方式二  -->

<%-- <%
  response.sendRedirect("TestServlet?param=方式二");
%> --%>

<!-- 方式三 -->

<%-- <jsp:forward page="TestServlet?param=方式3"/> --%>

<!-- 方式五 --> 
<%-- <%
int stayTime=0;
String URL="TestServlet?param=Method 5";
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);
%> --%>

<!-- 方式六 -->
<%
 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
 String newLocation = "TestServlet?param=Method 6";
 response.setHeader("Location",newLocation);
 %>
 </body>
</html>

相关文章

  • 图解Eclipse j2ee开发环境的搭建过程

    图解Eclipse j2ee开发环境的搭建过程

    这篇文章以图文结合的方式介绍了Eclipse j2ee开发环境的搭建过程,内容很详细,每一个步骤都有对应的操作截图,需要的朋友可以参考下
    2015-08-08
  • redis分布式锁的实现原理详解

    redis分布式锁的实现原理详解

    这篇文章主要为大家详细介绍了redis分布式锁,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 详解Java内存泄露的示例代码

    详解Java内存泄露的示例代码

    这篇文章通过一个Demo来简要介绍下ThreadLocal和ClassLoader导致内存泄露最终OutOfMemory的场景。下面通过示例代码给大家分享Java内存泄露的相关知识,感兴趣的朋友一起看看吧
    2017-12-12
  • Mybatis Plus select 实现只查询部分字段

    Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java基础巩固小项目点菜系统的实现

    Java基础巩固小项目点菜系统的实现

    这篇文章主要介绍了一个Java小项目点菜系统的实现,主要是用的集合,适合正在学习Java的朋友拿来实战练手,感兴趣的朋友快来看看吧
    2022-03-03
  • 深入学习Java同步机制中的底层实现

    深入学习Java同步机制中的底层实现

    在多线程编程中我们会遇到很多需要使用线程同步机制去解决的并发问题,这些同步机制是如何实现的呢?下面和小编来一起学习吧
    2019-05-05
  • 浅谈SpringBoot如何封装统一响应体

    浅谈SpringBoot如何封装统一响应体

    今天带各位小伙伴学习SpringBoot如何封装统一响应体,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • java GUI编程之监听操作实例分析

    java GUI编程之监听操作实例分析

    这篇文章主要介绍了java GUI编程之监听操作,结合实例形式分析了java GUI编程监听操作的Button监听、TextField文本输入监听等相关操作技巧与注意事项,需要的朋友可以参考下
    2020-01-01
  • SpringMVC文件上传中要解决的问题大汇总

    SpringMVC文件上传中要解决的问题大汇总

    这篇文章主要介绍了SpringMVC文件上传中要解决的问题,主要有中文文件名编码问题,文件位置存储问题以及文件名冲突问题等等,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • java中线程的sleep()方法和yield()方法的区别

    java中线程的sleep()方法和yield()方法的区别

    本文主要介绍了java中线程的sleep()方法和yield()方法的区别,Thread类的sleep()方法使线程休眠指定时间,不释放锁,而yield()提示调度器当前线程愿意让出CPU资源,不保证立即切换线程,感兴趣的可以了解一下
    2024-10-10

最新评论