- 浏览: 65129 次
- 性别:
- 来自: 广州
最新评论
第一步: 建立mysql 数据库,创建noteuser表和增加1条信息
- CREATE TABLE `noteuser` (
- `userid` int(5) NOT NULL auto_increment,
- `username` varchar(16) character set utf8 default NULL,
- `password` varchar(16) character set utf8 default NULL,
- `regtime` datetime default NULL,
- `NickName` varchar(16) character set utf8 default NULL,
- `Sex` int(1) unsigned default NULL,
- `Email` varchar(15) character set utf8 default NULL,
- `age` int(2) unsigned default NULL,
- PRIMARY KEY (`userid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
- INSERT INTO noteuser(username,password,regtime,NickName,Sex,Email,age) VALUES ('YuKy','11',now(),'Zoo.YuKy',1,'zjh588@gmail.com',21);
- //自己可以增加多几条信息
第二步:1.下载DOJO:http://dojotoolkit.org/downloads 我用的是dojo-0.4.3-ajax
2.下载jsonrpc.js和jsonrpc-1.0.jar,http://oss.metaparadigm.com/jsonrpc-dist/json-rpc-java-1.0.zip
3.在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ 建立新文件夹dojo_doc,把dojo-0.4.3-ajax解压到dojo文件夹内,然后把json-rpc-java-1.0.zip里的jsonrpc.js放在...\webapps\dojo_doc\js的文件夹里面.在js文件夹里增加clock.js,contentpane.js和aa.js.(其实clock.js和contentpane.js就是dojo-0.4.3-ajax里面的\demos\gfx\clock.html和\tests\test_docs.html的例子)
把clock.html和test_docs.html的javascript(从dojo.require("");这里开始到)部分保存在clock.js和contentpane.js里面.
记得把..\demos\gfx\下的\images\时钟图片也复制到..\webapps\dojo_doc\里.
//--把下面的代码复制到aa.js
- function clrscr()
- {
- resultNode.value = "";
- }
- function print(s)
- {
- resultNode.value += "" + s;
- resultNode.scrollTop = resultNode.scrollHeight;
- }
- function onLoad()
- {
- resultNode = document.getElementById("result");
- try {
- jsonrpc = new JSONRpcClient("JSON-RPC");
- } catch(e) {
- if(e.message) alert(e.message);
- else alert(e);
- }
- }
- function loginUser(){
- var user = document.getElementById("username").value;
- var pass = document.getElementById("password").value;
- if(user == null || pass == null ||user == "" || pass == ""){
- alert("Please enter username and password!");
- }else{
- var ss = jsonrpc.user.loginUser(user,pass);
- alert(ss);
- }
- }
- function dogetUserInfo(){
- clrscr();
- print("Running user\n\n");
- try {
- print("user.getUserInfo()");
- print(" returns " + jsonrpc.user.getUserInfo() + "\n");
- } catch(e) {
- print(" Exception: \n\n" + e);
- }
- }
第三步:编写JAVA程序,jsonTest.java
- package com.metaparadigm.jsonrpc.test;
- import java.io.Serializable;
- import java.sql.*;
- public class jsonTest implements Serializable
- {
- private final static long serialVersionUID = 1;
- private String strSql;
- private ResultSet rs;
- private Statement stmt = null;
- private Connection conn = null;
- public Connection getConnection(){
- try{
- Class.forName("org.gjt.mm.mysql.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8","root","root");
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return conn;
- }
- public String loginUser(String name,String pass){
- String flag = "登陆失败";
- try{
- strSql = "select * from noteuser where username like '"+name+"'and password like '"+pass+"'";
- conn = getConnection();
- stmt = conn.createStatement();
- rs = stmt.executeQuery(strSql);
- if(rs.next()){
- flag = "登陆成功";
- }
- }catch(Exception e){
- flag = "登陆出现异常";
- e.printStackTrace();
- }finally{
- try{
- conn.close();
- stmt.close();
- rs.close();
- }catch(Exception e){}
- }
- return flag;
- }
- public String[] getUserInfo(){
- String[] row = null;
- try{
- strSql = "select username from noteuser";
- conn = getConnection();
- stmt = conn.createStatement();
- rs = stmt.executeQuery(strSql);
- int i = 0;
- while(rs.next()){
- i++;
- }
- System.out.println(i);
- rs = stmt.executeQuery(strSql);
- row = new String[i];
- i =0;
- while(rs.next()){
- row[i] = rs.getString(1);
- i++;
- }
- }catch(Exception e){
- e.printStackTrace();
- }
- for(int j=0; j
- System.out.println(row[j]);
- return row;
- }
- }
- <%@
- page contentType="text/html; charset=UTF-8" %><%@
- page language="java" %><%@
- page import="com.metaparadigm.jsonrpc.test.jsonTest"
- %>
- <jsp:useBean id="JSONRPCBridge" scope="session" class="com.metaparadigm.jsonrpc.JSONRPCBridge" />
- <jsp:useBean id="user" scope="session" class="com.metaparadigm.jsonrpc.test.jsonTest"/>
- <%JSONRPCBridge.registerObject("user", user); %>
- <script language="javascript" type="text/javascript">
- djConfig = {
- debugAtAllCosts: true;
- isDebug: true;
- dojoIframeHistoryUrl: "dojo-0.4.3-ajax/iframe_history.html";
- preventBackButtonFix: false
- };
- script>
- <script language="javascript" type="text/javascript" src="dojo-0.4.3-ajax/dojo.js">script>
- <script type="text/javascript" src="js/clock.js">script>
- <script type="text/javascript" src="js/contentpane.js">script>
- <script language="javascript" type="text/javascript" src="js/jsonrpc.js">script>
- <script type="text/javascript" src="js/aa.js">script>
- <html>
- <head>
- <title>留言版-DOJOtitle>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- head>
- <body bgcolor="#ffffff" onLoad="onLoad()">
- <div dojoType="tabcontainer" style="width: 100%; height: 30em">
- <div dojoType="contentpane" label="用户登陆">
- <div dojoType="FloatingPane" class="stockPane" title="用户登陆框" id="pane"
- constrainToContainer="true" displayMaximizeAction="true">
- <p>请输入你的用户名字和密码p>
- <p>用户名:
- <input type="text" id="username">
- p>
- <p>密 码:
- <input type="password" id="password" >
- p>
- <p>
- <input type="button" onClick="loginUser()" value="登陆" >p>
- <p> p>
- div>
- div>
- <div dojoType="contentpane" label=" 时 钟 ">
- <div id="gfx_holder" style="width: 385px; height: 385px;"><p>现在时间是: <span id="time">span>.p>
- <p>
- <button id="reset">恢复时间button>
- p>
- div>
- div>
- <div dojoType="contentpane" label="用 户 信 息">
- <div dojoType="FloatingPane" class="stockPane" title="Stock Form" id="pane" constrainToContainer="true" displayMaximizeAction="true">
- <h2>浏览信息h2>
- <textarea wrap="off" id="result" cols="80" rows="20">textarea>
- <a href="javascript:dogetUserInfo();">查看a>
- div>
- div>
- div>
- body>
- html>
第五步:配置WEB-INF(自己创建以下的文件夹,在这里不一一说明有什么作用)
1.添加web.xml,在..\webapps\dojo_doc\WEB-INF文件夹,在\WEB-INF\添加web.xml,把以下代码复制进去
- <!---->xml version="1.0" encoding="ISO-8859-1"?>
- <!---->>
- <web-app>
- <servlet>
- <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServletservlet-name>
- <servlet-class>com.metaparadigm.jsonrpc.JSONRPCServletservlet-class>
- servlet>
- <servlet-mapping>
- <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServletservlet-name>
- <url-pattern>/JSON-RPCurl-pattern>
- servlet-mapping>
- web-app>
2.添加jsonrpc-1.0.jar,把json-rpc-java-1.0.zip内的jsonrpc-1.0.jar复制到..\webapps\dojo_doc\WEB-INF\lib\里
3.添加jsonTest.class,把jsonTest.java编译好的class文件在..\webapps\dojo_doc\WEB-
INF\classes\com\metaparadigm\jsonrpc\test\文件夹里.
第六步:测试,运行Tomcat,在地址栏输入http://localhost:8080/dojo_doc/aa.jsp,然后输入用户名yuky,密码11,看是否能登陆成功.
我用了暑假实习时间(1个月)学习WEB编程,在实习前我只会JBDC+JSP简单连接数据库(分页都不会),在实习期间第1个星期--学习熟悉JSP+HTML环境,第2个星期--用Bean对象写了简单的留言版,第3个星期--学习AJAX+XML,第4个星期--就是现在的例子.
在这里说一下我学习心得,可以说我完全是个新手,因为我大学专业学的多半是C++,对于JAVA很少了解, 7月份才认真学起JAVA相关领域的编程.
在我第三个星期的时候,实现了AJAX+XML,确实很高兴,因为抹去了JavaBean+HTML的每次刷新页面的工作,后来我发现AJAX+XML的web.xml配置很麻烦,和JAVA文件都要返回DOM节点,不然浏览页面就没办法识别,而且有时候AJAX+XML返回的数据不准确,会少1-2条数据,还有中文乱码的问题.可能是我学艺不精,写的程序不好才导致这些问题出现.
在我第4个星期,就是现在,我用JSON实现了AJAX+XML的功能,它简单,易懂,这是后来才发现的,在我还没学会JSON的时候,在网络兜了很多大圈,因为每个网站说的内容都不一样,记得有个网站把JSON和XMLHttpRequest结合起来,我看了之后觉得,如果这样做那么跟AJAX+XML有何区别?直到我把json-rpc-java-1.0.zip内的jsonrpc-1.0.war解压出来,看完里面的hello.jsp的例子,我完全明白JSON的作用,它真的好用,当你真正发掘到jsonrpc-1.0.jar的作用,你就真正掌握了JSON,我在这里只是借花敬佛,希望每个初学JSON的人都找到一条最简单的路,不要向我这样,兜了那么大圈才知道答案已经出来了,只是自己发现太迟,像个盲头苍蝇到处乱撞!
好吧!就写到这里,有哪里不懂可以留言大家互相讨论学习,,哪里说得不对,哪里写得不好,请大家指教.
- dojo_doc.rar (4.2 MB)
- 下载次数: 1018
发表评论
-
webwork的iterator不支持嵌套List?
2009-01-08 16:54 1311因为页面采用了webwork的标签,今天遇到一个麻烦事情,就是 ... -
MyEclipse Database Explorer 连接数据库
2008-11-06 11:40 0环境: 1.MyEclipse 6.5.0 GA 2.jdk1 ... -
Webservice错误
2008-04-01 18:18 2284AxisFault faultCode: {http://s ... -
日期加减(Calendar)
2008-01-04 16:35 10690package test; import java. ... -
Tomcat内存释放不了
2007-12-27 18:11 10464今天公司CMS的tomcat又挂掉了,之前挂了一次.出现 ... -
(转)手把手教你用axis创建自己的webservice
2007-12-27 18:04 6907源网址:http://www.iteye.com/subjec ... -
使用Axis开发Web Service程序-入门
2007-12-21 15:47 18784今天看了一个上午Axis,现在终于可以调通了,主要是在ht ... -
FCKeditor
2007-08-19 20:04 2568FCKeditor 的例子,里面是FCKeditor + 少量 ... -
AJAX JSON-RPC + MYSQL 数据库登陆和查询操作
2007-08-16 14:48 3256第一步: 建立mysql 数据库,创建noteuser表和增加 ...
相关推荐
标题中的“Java, AJAX树”指的是使用Java编程语言和AJAX(Asynchronous JavaScript and XML)技术来实现的一种交互式树形结构。这种树形结构通常用于网页应用中,允许用户无需刷新整个页面即可动态更新和操作数据。...
5. **Ajax库和控件**:源码中可能包含了实用的Ajax控件,比如jQuery、Prototype、dojo等,这些库简化了Ajax操作,提供了诸如数据加载动画、错误处理等功能,提高开发效率。 6. **实时通信**:为了实现即时聊天,...
2. **AJAX库与框架**:简述jQuery和其他流行库(如Prototype、Dojo)如何简化Ajax开发。 3. **跨域问题与解决方案**:探讨Ajax的同源策略限制及JSONP、CORS等跨域解决方案。 ### 第五章 - PHP与Ajax结合 1. **创建...
- hibernate-core.jar:Hibernate的核心库,包括实体管理、会话管理和查询API。 - hibernate-entitymanager.jar:JPA(Java Persistence API)接口的实现。 - hibernate-jpa-2.1-api.jar:JPA规范的API。 - ...
7. **插件机制**:Struts2拥有丰富的插件库,如Struts2-dojo-plugin提供Ajax支持,Struts2-convention-plugin简化配置,Struts2-json-plugin处理JSON数据等。 8. **国际化(i18n)**:Struts2支持多语言,通过资源...
3. `struts2-json-plugin.jar`:用于处理JSON格式的请求和响应,使得前后端交互更加灵活,尤其在AJAX应用中非常实用。 4. `struts2-dojo-plugin.jar`:提供了与Dojo JavaScript库的集成,方便在Web界面中使用Dojo...
- `hibernate-core`: Hibernate的主要库,包含实体管理、会话和查询API。 - `hibernate-validator`: 实现了JSR-303/349 Bean验证规范。 - `mysql-connector-java`: MySQL数据库的JDBC驱动,根据实际使用的数据库...
* 需要熟悉JQuery、HTTP、XML、JSON、Dojo、AJAX、JavaScript等技术,以及熟悉iOS下网络通信机制。 * 如果有GOOGLE MAP/百度地图/高德地图、GPS定位和与手机端传感器通讯技术编程经验,优先考虑。 * 需要熟悉Oracle...
- struts2-dojo-plugin:支持Dojo库,用于前端交互和AJAX功能。 - struts2-spring-plugin:使Struts2与Spring框架无缝集成。 3. Hibernate框架: - hibernate-core:Hibernate的主要库,包含ORM的核心功能。 - ...
【标题】"Demo工程列表说明1"涉及到的IT知识点涵盖了多个方面,主要集中在Web开发、框架使用、数据库连接池、并发处理、模板引擎、JSON处理、文件操作、前端库和框架等多个领域。以下是对这些知识点的详细说明: 1....
4. **网络通信**:熟悉HTTP、XML、JSON,以及JQuery、Dojo、AJAX、JavaScript等,了解iOS下的网络通信机制。 5. **地图与定位**:有使用GOOGLE MAP、百度地图、高德地图的经验,以及GPS定位和手机传感器通讯技术编程...
- `hibernate-core.jar`:Hibernate的核心库,包含实体管理、会话管理和查询API。 - `hibernate-entitymanager.jar`:支持JPA(Java Persistence API),提供ORM服务。 - `hibernate-validator.jar`:提供了JSR-...
3. 熟悉各种Web前端技术,包括JavaScript、CSS、HTML4/5、(XHTML、XML、Ajax)、json、jstl、JQuery,jsp,对DWR、Bootstrap、EasyUI、DWZ、ExtJS有一定了解; 4. 熟悉Extjs,dojo,easyUI等及有相关项目开发经验者...
- `hibernate-core.jar`:Hibernate的核心库,包含实体管理,会话和查询等。 - `hibernate-entitymanager.jar`:JPA(Java Persistence API)支持。 - `hibernate-validator.jar`:JSR 303/JSR 349规范实现,用于...
2. `struts2-dojo-plugin.jar`:提供了与Dojo JavaScript库的集成,帮助开发富客户端界面,提供强大的AJAX支持。 3. `struts2-json-plugin.jar`:支持JSON格式的数据交互,使得Struts2能很好地与现代Web服务和前端...
- **struts2-json-plugin**: 提供JSON支持,方便与AJAX交互。 - **struts2-tiles-plugin**: 与Tiles框架集成,便于构建可重用的页面布局。 3. **Hibernate框架**: - **hibernate-core**: Hibernate的主要库,...
6. `struts2-json-plugin.jar`:支持JSON(JavaScript Object Notation)数据格式的处理,用于前后端的数据交换,特别是在AJAX应用中。 7. `struts2-dojo-plugin.jar`(或`struts2-jquery-plugin.jar`等):这些是...
- **数据格式**:通常使用JSON或XML格式传输数据。 - **用户体验**:通过局部刷新页面内容,提供更加流畅的用户体验。 ### 6. Canvas HTML5中的Canvas元素提供了一个绘图板,可以在上面绘制图形或动画。学习Canvas...
- JSON/XML数据交换 - Ajax框架 ##### 8. UML与项目管理 - UML概念 - 类图、用例图 - CMM/PSP/TSP方法论 ##### 9. 职业素质 - 职业素养 - 礼仪与操守 ##### 10. 典型网络应用系统 - 需求分析 - 系统设计 - ...