使用ajax如何将参数从一个JSP页面发送到另一个servlet
using ajax how to send parameter from 1 jsp page to another servlet
我正在使用azax来动态更改jsp页面,并且我希望将数据从该jsp页面发送到servlet。jsp代码:
<input type="submit" oninput="loadXMLDoc(this.value)" value="ok" name="ok">
<div id="myDiv">
Insert Id:<input id="p1" type="text" name="edit1" value=""style="visibility:hidden" size="30"/>
</div>
function loadXMLDoc(str){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","edit?q="+str,true);
xmlhttp.send();
}
servlet代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter(); Connection conn=null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "studentdatabase";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "1234";
String student=request.getParameter("str");
Statement stmt;out.println(student);
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
String query = "select name1,telephone,email,department from studentinfo where studentid='"+student+"";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
String s = rs.getObject(1).toString();
out.println("<p> " +s+ "</p>");
}
conn.close;
//System.out.println("Disconnected from database");
} catch (Exception e) {
e.printStackTrace();
}
}
字符串student显示null
,即使数据库中有student =student的值
由于您使用的是HTTP-POST,因此您必须将参数放入send方法中。
...
var params = "q="+str;
xmlhttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
...
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 如何将输入类型值或id从一个jsp传递到另一个jsp页面
- 如何将日期id从一个jsp传递到另一个jsp页面
- 一个jsp中有两个操作URL
- 在jsp中,隐藏一个基于其他具有日期选择器的字段的字段
- 如何根据 jsp 中数据库中的值在下拉列表中选择一个值
- 在不重新加载页面的情况下,从JSP(服务器端)b设置一个JavaScript变量
- 如何在jsp页面中包含一个拖放交互UI
- 声明一个js变量,该变量将被我的2个jsp访问
- Dropdown基于jsp Struts中的另一个下拉列表
- 方法以打开Javascript中的另一个jsp页面
- 调用一个不返回任何内容的servlet..加载时从jsp
- 点击jsp页面上的链接打开一个文件
- 使用Onclick将参数从一个jsp页面传递到另一个页面
- 使用PHP和JSP在另一个网页中获取cookie值
- 从javascript调用一个jsp方法
- 如果要使用 JSP 和 Java 脚本删除数据,则需要一个确认框
- 如何将 JS 变量从一个 jsp 页面传递到另一个页面
- 如果在第一个 jsp 页面设置了刷新参数,则会刷新所有 jsp 页面
- 使用 ajax 和 JSP Servlet 根据选择的上一个下拉列表填充下拉列表