最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java Web:AJAX一級下拉框,JSON,項目開發(fā)的步驟,整合servlet,學習筆記【詩書畫唱】

2020-11-09 20:06 作者:詩書畫唱  | 我要投稿


這里暫時不用編號自增,以后用
這個表為手動后建表導出的代碼



SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `addr`

-- ----------------------------

DROP TABLE IF EXISTS `addr`;

CREATE TABLE `addr` (

? `id` int(11) NOT NULL AUTO_INCREMENT,

? `pid` int(11) DEFAULT NULL,

? `name` varchar(20) DEFAULT NULL,

? PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;


-- ----------------------------

-- Records of addr

-- ----------------------------

中國共計34個省級行政區(qū),包括23個省、5個自治區(qū)、4個直轄市、2個特別行政區(qū)。

23個省分別為:河北省、山西省、遼寧省、吉林省、黑龍江省、江蘇省、浙江省、安徽省、福建省、江西省、山東省、河南省、湖北省、湖南省、廣東省、海南省、

四川省、貴州省、云南省、陜西省、甘肅省、青海省、臺灣省。


5個自治區(qū)分別為:內(nèi)蒙古自治區(qū)、廣西壯族自治區(qū)、西藏自治區(qū)、寧夏回族自治區(qū)、新疆維吾爾自治區(qū)。


4個直轄市分別為:北京市、天津市、上海市、重慶市。


2個特別行政區(qū)分別為:香港特別行政區(qū)、澳門特別行政區(qū)。

INSERT INTO `addr` VALUES ('1', '0', '河北省');

INSERT INTO `addr` VALUES ('2', '0', '山西省');

INSERT INTO `addr` VALUES ('3', '0', '遼寧省');

INSERT INTO `addr` VALUES ('4', '0', '吉林省');

INSERT INTO `addr` VALUES ('5', '0', '黑龍江省');

INSERT INTO `addr` VALUES ('6', '0', '江蘇省');

INSERT INTO `addr` VALUES ('7', '0', '浙江省');

INSERT INTO `addr` VALUES ('8', '0', '安徽省');

INSERT INTO `addr` VALUES ('9', '0', '福建省');

INSERT INTO `addr` VALUES ('10', '0', '江西省');

INSERT INTO `addr` VALUES ('11', '0', '山東省');

INSERT INTO `addr` VALUES ('12', '0', '河南省');

INSERT INTO `addr` VALUES ('13', '0', '湖北省');

INSERT INTO `addr` VALUES ('14', '0', '湖南省');

INSERT INTO `addr` VALUES ('15', '0', '海南省');

INSERT INTO `addr` VALUES ('16', '0', '四川省');

INSERT INTO `addr` VALUES ('17', '0', '貴州省');

INSERT INTO `addr` VALUES ('18', '0', '云南省');

INSERT INTO `addr` VALUES ('19', '0', '陜西省');

INSERT INTO `addr` VALUES ('20', '0', '甘肅省');

INSERT INTO `addr` VALUES ('21', '0', '青海省');

INSERT INTO `addr` VALUES ('22', '0', '臺灣省');

INSERT INTO `addr` VALUES ('23', '0', '內(nèi)蒙古自治區(qū)');

INSERT INTO `addr` VALUES ('24', '0', '廣西壯族自治區(qū)');

INSERT INTO `addr` VALUES ('25', '0', '西藏自治區(qū)');

INSERT INTO `addr` VALUES ('26', '0', '寧夏回族自治區(qū)');

INSERT INTO `addr` VALUES ('27', '0', '新疆維吾爾自治區(qū)');

INSERT INTO `addr` VALUES ('28', '0', '北京市');

INSERT INTO `addr` VALUES ('29', '0', '廣東省');

INSERT INTO `addr` VALUES ('30', '0', '天津市');

INSERT INTO `addr` VALUES ('31', '0', '上海市');

INSERT INTO `addr` VALUES ('32', '0', '重慶市');

INSERT INTO `addr` VALUES ('33', '0', '香港特別行政區(qū)');

INSERT INTO `addr` VALUES ('34', '0', '澳門特別行政區(qū)');



package com.SSHC.bean;


public class Addr {

? ? private Integer id;

? ? private Integer pid;

? ? private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public Integer getPid() {

return pid;

}

public void setPid(Integer pid) {

this.pid = pid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

package com.SSHC.controller;


import java.io.IOException;

import java.util.List;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import com.SSHC.bean.Addr;

import com.SSHC.dao.AddrDao;


/**

?* Servlet implementation class SelServlet

?*/

@WebServlet("/ss")

public class addressKuangServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

? ? ? ?

? ? /**

? ? ?* @see HttpServlet#HttpServlet()

? ? ?*/

? ? public addressKuangServlet() {

? ? ? ? super();

? ? ? ? // TODO Auto-generated constructor stub

? ? }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

this.doPost(request, response);

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

//獲取數(shù)據(jù)中的數(shù)據(jù)

String strPid = request.getParameter("pid");

Integer pid = -1;

if(strPid != null && strPid.length() > 0) {

pid = Integer.parseInt(strPid);

}

AddrDao ad = new AddrDao();

List<Addr>list = ad.selectByPid(pid);

//方法一:拼接html代碼(可能會有兼容性問題)

// StringBuilder html = new StringBuilder("<option>請選擇省份</option>");

// //<option value="1">湖南</option>

// for(Addr addr : list) {

// html.append("<option value=\"");

// html.append(addr.getId());

// html.append("\">");

// html.append(addr.getName());

// html.append("</option>");

// }

// System.out.println(html);

//方法二:拼接JSON字符串{},[]

//[{"id":1,"name":"湖南"},{"id":2,"name":"湖北"},{"id":3,"name":"江西"}]

StringBuilder jsonStr = new StringBuilder("[");

String dot = "";

for(Addr addr : list) {

jsonStr.append(dot);

jsonStr.append("{\"id\":");

jsonStr.append(addr.getId());

jsonStr.append(",\"name\":\"");

jsonStr.append(addr.getName());

jsonStr.append("\"}");

dot = ",";

}

jsonStr.append("]");

System.out.println(jsonStr);

response.setCharacterEncoding("utf-8");

//將數(shù)據(jù)傳送到回調(diào)函數(shù)中

//response.getWriter().write(html.toString());

response.getWriter().write(jsonStr.toString());

}


}

?



package com.SSHC.dao;


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;


import com.SSHC.bean.Addr;

import com.SSHC.util.DbUtil;


public class AddrDao {

? ? public List<Addr>selectByPid(Integer pid){

? ? Connection conn = null;

? ? PreparedStatement pstm = null;

? ? ResultSet rs = null;

? ?

? ? List<Addr>list = new ArrayList<Addr>();

? ? String sql = "select * from addr where pid = ?";

? ?

? ? try {

? ? conn = DbUtil.getConn();

pstm = conn.prepareStatement(sql);

pstm.setInt(1, pid);

rs = pstm.executeQuery();

while(rs.next()) {

Integer id = rs.getInt("id");

String name = rs.getString("name");

Addr a = new Addr();

a.setId(id);

a.setName(name);

list.add(a);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

DbUtil.close(rs, pstm, conn);

}

? ? return list;

? ? }

}

package com.SSHC.util;


import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.Properties;


public class DbUtil {

private static String driverName;

? ? private static String url;

? ? private static String user;

? ? private static String pwd;

? ??

? ? static {

? ? //讀取properties文件

? ? Properties prop = new Properties();

? ? //將db.properties文件讀取到內(nèi)存中去

? ? InputStream is = DbUtil.class.getClassLoader()

? ? .getResourceAsStream("db.properties");

? ? //加載內(nèi)容

? ? try {

prop.load(is);

//讀取內(nèi)容

driverName = prop.getProperty("dn");

url = prop.getProperty("url");

user = prop.getProperty("un");

pwd = prop.getProperty("up");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

? ? }

? ??

? ? //獲取數(shù)據(jù)庫連接對象的方法

? ? public static Connection getConn(){

? ? Connection conn = null;

? ? try {

Class.forName(driverName);

conn = DriverManager.getConnection(url,user,pwd);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}? ?

? ? return conn;

? ? }

? ??

? ? public static void close(ResultSet rs,PreparedStatement pstm

? ? ,Connection conn){

? ? ? ? try {

? ? ? ? if(rs != null) {

? ? ? ? ? ? rs.close();

? ? ? ? ? ? }

? ? ? ? ? ? if(pstm != null) {

? ? ? ? ? ? pstm.close();

? ? ? ? ? ? }

? ? ? ? ? ? if(conn != null) {

? ? ? ? ? ? conn.close();

? ? ? ? ? ? }

? ? ? ? } catch(Exception e) {

? ? ? ? e.printStackTrace();

? ? ? ? }

? ? }

}



dn=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/firstjsp?useUnicode=true&characterEncoding=UTF-8

un=root

up=root


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%

? ? String path = request.getContextPath();

? ? String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";? ??

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

? ? <head>

? ? ? ? <base hreff="<%=basePath%>">

? ? ? ? <title></title>

? ? ? ? <meta http-equiv="pragma" content="no-cache">

? ? ? ? <meta http-equiv="cache-control" content="no-cache">

? ? ? ? <meta http-equiv="expires" content="0">

? ? ? ? <meta http-equiv="keywords" content=

? ? ? ? "keyword1,keyword2,keyword3">

? ? ? ? <meta http-equiv="description" content="This is my page">

? ? ? ? <style type="text/css">

? ? ? ? ? ? * {

? ? ? ? ? ? ? ? font-size: 23px;

? ? ? ? ? ? }

? ? ? ? </style>

? ? ? ? <script type="text/javascript">

? ? ? ? ? ? //頁面中的所有的Html標簽都被解析出來以后,就會運行下面的函數(shù)

? ? ? ? ? ? window.onload = function(){

? ? ? ? ? ? //獲取省份下拉框

? ? ? ? ? ? var prov = document.getElementById('province');

? ? ? ? ? ?

? ? ? ? ? ? //獲取省份下拉框中的數(shù)據(jù)(我現(xiàn)在執(zhí)行了)

? ? ? ? ? ? //從js代碼跳轉(zhuǎn)到java代碼怎么實現(xiàn)呢?ajax

? ? ? ? ? ? var xhr = createXhr();

? ? ? ? ? ? if(xhr) {

? ? ? ? ? ? //設置提交方式是POST提交和執(zhí)行的servlet的url路徑

? ? ? ? ? ? xhr.open('POST','ss');

? ? ? ? ? ? //設置ajax請求頭

? ? ? ? ? ? xhr.setRequestHeader("content-type",?

? ? ? ? ? ? "application/x-www-form-urlencoded");

? ? ? ? ? ? //設置回調(diào)函數(shù)

? ? ? ? ? ? xhr.onreadystatechange = function(){

? ? ? if (xhr.readyState == 4 && xhr.status == 200){

? ? ? ? ? ? ? ? //alert(xhr.responseText);

? ? ? ? ?//有的瀏覽器不支持下拉框的innerHTML屬性,所以會有兼容性問題。

? ? ? ? ? ?//prov.innerHTML = xhr.responseText;

? ? ? ? ? ? ? ? //alert(xhr.responseText);

? ? ? ? ? ? ? ? //將json字符串轉(zhuǎn)換成js數(shù)組

? ? ? ? ? ? ? ? var arr = JSON.parse(xhr.responseText);

? ? ? ? ? ? ? ? //對arr數(shù)組進行循環(huán)遍歷

? ? ? ? ? ? ? ? for(var i = 0;i < arr.length;i ++) {

? ? ? ? ? ? ? ? var opt = arr[i];

? ? ? ? ? ? ? ? //取出對象中的屬性值

? ? ? ? ? ? ? ? var id = opt.id;

? ? ? ? ? ? ? ? var name = opt.name;

? ? ? ? ? ? ? ? //創(chuàng)建一個option對象

? ? ? ? ? ? ? ? var option = new Option(name,id);

? ? ? ? ? ? ? ? //將option對象放到省份下拉框中

? ? ? ? ? ? ? ? prov.add(option);

? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? //提交ajax請求

? ? ? ? ? ? xhr.send('pid=0');

? ? ? ? ? ? }

? ? ? ? ? ? }? ?

? ? ? ? ?

? ? ? ? ? ??

? ? ? ? ? ? //將創(chuàng)建XMLHttpRequest對象的方法封裝起來

? ? ? ? ? ? function createXhr(){

? ? ? ? ? ? var xhr = null;

if(window.XMLHttpRequest) {

//判斷window對象中是否有XMLHttpRequest屬性

? ? ? ? ? ? xhr = new XMLHttpRequest();

? ? ? ? ? ? } else {

? //如果沒有XMLHttpRequest屬性,就使用ActiveXObject創(chuàng)建

? ? ? ? ? ? xhr = new ActiveXObject("Microsoft.XMLHTTP");

? ? ? ? ? ? }

? ? ? ? ? ? return xhr;

? ? ? ? ? ? }

? ? ? ? </script>

? ? </head>

? ? <body>

? ? ? ? <select id="province">

? ? ? ? ? ? <option>請選擇省份</option>

? ? ? ? </select>

? ? ? <!--? <select id="city">

? ? ? ? ? ? <option>請選擇城市</option>

? ? ? ? </select>-->??

? ? </body>

</html>





一、泛型參數(shù)

二、實現(xiàn)萬能DAO


一、整合servlet


登錄功能,注冊功能,修改密碼:公共模塊

商品新增,商品修改,商品查詢,商品刪除:商品模塊

"將一些功能放到同一個servlet中執(zhí)行。根據(jù)模塊功能整合,也就是說將同一個模塊中

的功能寫在一個servlet中。"

怎么樣將幾個功能寫在同一個servlet中,通過url傳參的方式


項目開發(fā)的步驟:

1、閱讀需求,項目一定要符合需求。

2、界面設計(界面原型設計)寫 html頁面,登錄注冊首頁

3、根據(jù)界面設計數(shù)據(jù)庫,用戶表,送貨地址表,商品表,訂單表,購物車表

用戶和地址:一對多,一個用戶有多個送貨地址

商品和訂單:多對多,就必須使用第三種表來保存他們之間的關系。

購物車

product: id ,pname,price

order:id 用戶id 送貨地址

訂單明細表

4、組長創(chuàng)建一個項目分發(fā)給組員,分發(fā)任務

5、編碼

6、測試

7、寫PPT


一、JS復習:變量和數(shù)據(jù)類型


JS定義變量:無腦的使用var定義

JS中對象和數(shù)組是最常用的


一、AJAX:局部的頁面刷新的技術


單機游戲和網(wǎng)絡游戲:AJAX技術能夠是我們玩網(wǎng)絡游戲就像玩單機游戲一樣流暢

AJAX是一個組合技術。

AJAX技術的核心對象是:XMLHttpRequest


重名驗證:

onpropertychange:當被綁定的元素的某個屬性發(fā)生變化時觸發(fā)的事件

運行順序:

運行js代碼->跳轉(zhuǎn)到了java代碼中->運行回調(diào)函數(shù)中的js代碼


AJAX實現(xiàn)下拉框聯(lián)動

1、創(chuàng)建一個地址表addr

2、在表中添加了一些數(shù)據(jù)

3、創(chuàng)建addr表對應的bean和dao

4、準備連接數(shù)據(jù)庫:導包和導入db.properties文件以及創(chuàng)建數(shù)據(jù)庫連接工具類

5、創(chuàng)建jsp頁面

6、在jsp頁面中加載所有的省份信息


Java Web:AJAX一級下拉框,JSON,項目開發(fā)的步驟,整合servlet,學習筆記【詩書畫唱】的評論 (共 條)

分享到微博請遵守國家法律
平邑县| 上饶县| 镇雄县| 呼和浩特市| 海林市| 阳原县| 凌源市| 夏河县| 麦盖提县| 平和县| 宁海县| 科技| 谢通门县| 鹤壁市| 青铜峡市| 安化县| 沅江市| 卓资县| 镇康县| 温州市| 赤峰市| 衡阳县| 凭祥市| 静安区| 上栗县| 那坡县| 靖西县| 马鞍山市| 云龙县| 西林县| 鹤峰县| 九寨沟县| 措勤县| 贡山| 巴林左旗| 镇巴县| 楚雄市| 栾川县| 玛纳斯县| 伊川县| 康平县|