`

Ajax实现jsp里面某个输入框内容修改之后后台数据库自动更新

    博客分类:
  • jsp
阅读更多
对应在数据库中表格 rocars表的msg_id,ccrn两个字段。现在要实现在界面上修改ccrn的值,ajax提交到response.jsp页面,并调用RocarsEntiy.updateCcrn方法更新对应的ccrn,最后无刷新显示。

request.jsp页面中有rocarsId,和ccrn两个text。
对应在数据库中表格 rocars表的msg_id,ccrn两个字段。现在要实现在界面上修改ccrn的值,ajax提交到response.jsp页面,并调用RocarsEntiy.updateCcrn方法更新对应的ccrn,最后无刷新显示
代码:

request.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
<script language="javascript"><!-- 
function GetXmlHttpObject(){ 
    var xmlHttp = null; 
    try{ 
        xmlHttp = new XMLHttpRequest(); 
    }catch(e){ 
        try{ 
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
        }catch(e){ 
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
    } 
    return xmlHttp; 

} 
function updateCcrn(rocarsId,ccrn){ 
alert(rocarsId) 
alert(ccrn) 
    xmlHttp = GetXmlHttpObject(); 
    if(xmlHttp == null){ 
        alert ("you browser don't support the ajax"); 
         return; 
    } 
    var url = "./response.jsp"; 
    url = url + "?rocarsId="+ rocarsId; 
    url = url + "&ccrn="+ ccrn; 
    url = url + "&sid ="+ Math.random(); 
    xmlHttp.onreadystatechange = stateChanged; 
    xmlHttp.open("GET", url, true); 
    xmlHttp.send(null); 
} 
function getCcrn(str){ 
    xmlHttp = GetXmlHttpObject(); 
    if(xmlHttp == null){ 
        alert ("you browser don't support the ajax"); 
         return; 

    } 
    var url = "./response.jsp"; 
    url = url + "?q="+ str; 
    url = url + "&sid ="+ Math.random(); 
    xmlHttp.onreadystatechange = stateChanged; 
    xmlHttp.open("GET", url, true); 
    xmlHttp.send(null); 
} 
function stateChanged() 
{ 
    if(xmlHttp.readyState==4) 
    { 
        document.getElementById("rocarsccrn").value = xmlHttp.responseText; 
    } 
} 
// --></script> 
</head> 
<body> 
<form name="form1" action="" method="post"> 
    <label>rocarsId:</label><input type="text" name="rocarsId" value="140" /> 
    <label>ccrn:</label><input type="text" id="rocarsccrn" name="rocarsccrn" onchange="updateCcrn(document.form1.rocarsId.value,this.value)"/> 
</form> 
</body> 
</html>


response.jsp:
<%@ page language="java" contentType="text/plain; charset=UTF-8" 
pageEncoding="UTF-8"%> 
<%@ page import="com.lwf.eus.util.*,java.util.*,com.lwf.eus.entity.*,com.lwf.eus.bean.*" %> 
<% 
    String rocarsId = request.getParameter("rocarsId"); 
    String ccrn = request.getParameter("ccrn"); 
    System.out.println("rocarsId:" + rocarsId); 
    System.out.println("ccrn:" + ccrn); 
    RocarsEntity.updateCcrnById(rocarsId,ccrn); 
    out.print(ccrn); 
%>


RocarsEntity.java:
package com.lwf.eus.entity;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import com.lwf.eus.bean.RocarsBean;
import com.lwf.eus.util.ConnectionManager;

public class RocarsEntity {
	public static Vector getRocarsList() {
		Vector vRocars = new Vector();
		// Connection conn = ConnectionManager.getConnection();
		Connection conn = ConnectionManager.getConnectionFromDS();
		Statement st = ConnectionManager.createStatement(conn);
		String sql = "select msg_id,ccrn from rocars";
		ResultSet rs = null;
		try {
			rs = st.executeQuery(sql);
			while (rs.next()) {
				RocarsBean rocars = new RocarsBean();
				rocars.setRocarsId(rs.getString(1));
				rocars.setCcrn(rs.getString(2));
				vRocars.addElement(rocars);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if (rs != null) {
					rs.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (st != null) {
					st.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return vRocars;
		}

	}

	public static RocarsBean getRocarsListById(String rocarsId) {
		Connection conn = ConnectionManager.getConnectionFromDS();
		Statement st = ConnectionManager.createStatement(conn);
		String sql = "select * from rocars where msg_id=" + rocarsId;
		ResultSet rs = null;
		RocarsBean rocars = null;
		try {
			rs = st.executeQuery(sql);
			rocars = new RocarsBean();
			while (rs.next()) {
				rocars.setRocarsId(rs.getString("msg_id"));
				rocars.setCcrn(rs.getString("ccrn"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if (rs != null) {
					rs.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (st != null) {
					st.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return rocars;
		}
	}

	public static void updateCcrnById(String rocarsId, String ccrn) {
		Connection conn = null;
		Statement stmt = null;
		try {
			conn = ConnectionManager.getConnectionFromDS();
			stmt = ConnectionManager.createStatement(conn);
			String sqlStr = "update rocars set ccrn= '" + ccrn + "'"
					+ "where msg_id=" + rocarsId;
			stmt.executeUpdate(sqlStr);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {

			try {
				if (stmt != null) {
					stmt.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}


ConnectionManager.java:
package com.lwf.eus.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class ConnectionManager {
	public static Connection getConnection() {
		Connection conn = null;
		String url = "jdbc:postgresql://192.168.0.180/getseus";
		String userName = "getsdbadmin";
		String pwd = "powerdb";
		try {
			Class.forName("org.postgresql.Driver").newInstance();
			conn = DriverManager.getConnection(url, userName, pwd);
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}

		return conn;
	}

	public static Connection getConnectionFromDS() {
		Connection conn = null;
		Context ctx = null;
		try {
			ctx = new InitialContext();
			DataSource ds = (DataSource) ctx.lookup("JNDIPG");
			conn = ds.getConnection();
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return conn;

	}

	public static Statement createStatement(Connection conn) {
		Statement st = null;
		try {
			st = conn.createStatement();

		} catch (SQLException e) {
			e.printStackTrace();
		}
		return st;
	}
}


RocarsBean.java:
package com.lwf.eus.bean;

public class RocarsBean {
	private String rocarsId;
	private String ccrn;

	public String getRocarsId() {
		return rocarsId;
	}

	public void setRocarsId(String rocarsId) {
		this.rocarsId = rocarsId;
	}

	public String getCcrn() {
		return ccrn;
	}

	public void setCcrn(String ccrn) {
		this.ccrn = ccrn;
	}

}
分享到:
评论

相关推荐

    Ajax+jsp 输入框下拉提示

    本项目"Ajax+jsp 输入框下拉提示"是针对输入框的一种常见功能,即当用户在输入框中输入文字时,系统自动显示下拉列表提供相关建议,提升用户体验。这种技术常用于搜索框、地址输入等场景,以减少用户输入错误和提高...

    ajax jsp 实现动态验证

    Ajax允许我们在不刷新整个网页的情况下,从服务器获取数据并局部更新页面内容,极大地提高了网页的响应速度和用户体验。本篇文章将深入探讨如何利用Ajax和JSP(JavaServer Pages)来实现动态验证功能。 首先,我们...

    ajax实现自动提示搜索

    **Ajax 实现自动提示搜索** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了...

    用JSP+Ajax实现搜索框的下拉列表

    Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术,通过在后台与服务器进行少量数据交换,可以在不刷新整个页面的情况下更新部分网页内容。Ajax的核心是JavaScript,它利用XMLHttpRequest...

    JSP + ajax实现输入框自动补全功能 实例代码

    根据标题“JSP + ajax实现输入框自动补全功能 实例代码”和描述“给别人说ajax技术时,如果觉得说不明白总会这样解释:看到百度首页了吗?你打上一个字,输入框下面会出来相关的一些选项,那就是ajax技术。其实web上...

    ajax 自动提示ajax 自动提示含有下拉框

    标题中的“Ajax自动提示”指的是在网页中使用Ajax技术实现的一种动态输入提示功能。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术通常用于提升...

    jsp+ajax聊天室

    【jsp+ajax聊天室】是一种基于JavaServer Pages (JSP) 和 Asynchronous JavaScript and XML (AJAX) 技术实现的在线实时交流平台。JSP是服务器端的技术,用于生成动态网页,而AJAX则是一种在不刷新整个页面的情况下与...

    JSP + AJAX 的聊天室

    【JSP + AJAX 的聊天室】是一个典型的Web应用程序开发实例,它结合了JavaServer Pages(JSP)技术和Asynchronous JavaScript and XML(AJAX)技术,为用户提供了一个实时、交互式的在线聊天平台。在这个系统中,JSP...

    jsp智能提示完整版,jquery+ajax+text实现

    【标题】"jsp智能提示完整版,jquery+ajax+text实现"揭示了这是一个关于Web开发的项目,主要涉及的技术栈是JavaServer Pages (JSP)、jQuery、Ajax以及文本处理。这个项目意在模仿百度的智能提示功能,即在用户输入时...

    JSP实现WEB版AJAX聊天功能.rar

    【JSP实现WEB版AJAX聊天功能】 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛用于创建动态、交互性强的网页应用。它允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容,...

    JSP+Ajax+Servlet 自动完成类似谷歌百度搜索

    本项目的核心是利用JSP、Ajax和Servlet技术实现一个自动完成的搜索功能,类似于谷歌或百度的搜索建议。这种功能在用户输入查询词时,能够在后台实时获取匹配的建议结果,提升用户的搜索体验。以下是这个项目涉及到的...

    ajax+struts+jsp的用户名验证

    1. **Ajax(异步JavaScript和XML)**:Ajax的核心是通过JavaScript在后台与服务器进行数据交换,无需刷新整个页面即可更新局部内容。在本案例中,当用户在输入用户名字段时,JavaScript监听到输入事件,触发Ajax请求...

    Ajax+jsp做的聊天室

    【Ajax+jsp聊天室】是一种基于Web的实时通信技术,它结合了Ajax(异步JavaScript和XML)与JavaServer Pages(jsp)来创建无需页面刷新即可实现动态更新的交互式聊天环境。这种技术的主要目标是提升用户体验,因为它...

    ajax无刷新聊天室源码--jsp版

    Ajax(Asynchronous JavaScript and XML)无刷新技术是一种在不重新加载整个网页的情况下更新部分网页内容的技术。在本项目中,它被用于实现一个基于JSP(JavaServer Pages)的聊天室,使得用户可以在不离开页面的...

    ajax+jsp聊天室

    【Ajax+jsp聊天室】是一种基于Web的实时通信技术,它结合了Ajax(异步JavaScript和XML)与Java Server Pages(JSP)来创建无需页面刷新的多用户聊天环境。这个技术的应用使得用户可以在不重新加载整个网页的情况下,...

    ajax实现简单登录

    在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种技术,它允许我们在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。本示例是关于如何使用AJAX实现一个简单的登录系统,无需数据库操作,...

    Ajax实现查询助手

    用户可以通过键盘或鼠标选择记录,选定后,内容会填充到相应页面元素中,同时输入焦点会自动转移到下一个输入框,选择界面关闭。如果查询无结果,会有相应的提示。 具体到代码实现,Jsp页面需要引入相关的CSS和...

    JSP下AJAX例子

    它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验。在这个JSP下的AJAX例子中,我们将深入探讨如何使用Java来实现这一功能。 首先,我们需要理解JSP(JavaServer Pages)的角色。JSP是...

    AJAX JSP DIV 聊天室练习实例

    1. **AJAX (Asynchronous JavaScript and XML)**: AJAX 是一种在不重新加载整个网页的情况下,更新部分网页内容的技术。在聊天室中,AJAX 主要负责后台数据的异步传输,使得用户可以发送消息并立即看到其他人的回复...

Global site tag (gtag.js) - Google Analytics