团队作业(五):冲刺总结(二)

1.今日任务安排

  • 各组员依照昨天认领的任务,学习自己的负责的模块的相关知识,自己上网查询或两两交流学习,主要学习数据库相关、
    Java后端设计、WEB前端设计如CSS样表语法、JS语法等。

  • 明确功能实现,主要学习相关功能的实现与应用,主要是JAVA接口的学习。

2.遇到的困难

  • 1.java连接MySql数据库的方法

  • 2.出现错误java.sql.SQLException: Can not issue data manipulation statements with executeQuery(). 解决:注意sql语句如果是查询,用executeQuery(),要对表产生修改的话则使用executeUpdate()

  • 3.选取前N条数据时,sqlserver数据库用select top n from table order by class desc,而mysql数据库使用select * from table order by class desc limit n

  • 4.将一张大表分割成几个小表:CREATE TABLE weibo1 SELECT * FROM weibo ORDER BY mid LIMIT 1,3000000;

  • 5.出现错误:[Err] 3 - Error writing file 'C:\Windows\TEMP\MY29' (Errcode: 28)。解决方案参见:www.111cn.net/database/mysql/45657.htm。我的问题是因为C盘空间不足

  • 6.向量的定义。向量初始化不能使用Vector orimid =null,会导致在像该向量添加元素时发生空指针错误。正确方法:Vector orimid =new Vector();

  • 7.ArrayList和Vector的区别:Vector是同步的, 而ArrayList不是,因为Vector是同步的, 所以它是线程安全的。同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以它要比ArrayList要慢.(理论上来说)
    Vector允许用户设置capacityIncrement这样在每次需要扩充数组的size的时候, Vector会尝试按照预先设置的capacityIncrement作为增量来设置, 而ArrayList则会把数组的大小扩大一倍;如果capacityIncrement设为0或者负值, Vector就会做和ArrayList一样, 每次都将数组大小扩大一倍.

  • 8.execute、executeUpdate、executeQuery三者的区别.
    execute是executeQuery和executeUpdate的综合.executeUpdate() 这是 PreparedStatement 接口中的方法
    executeUpdate(String sql) 这是 PreparedStatement 从父接口 Statement 中继承过来的方法executeUpdate() 中执行 SQL 语句需要在创建 PerparedStatement 时通过 Connection 的 prepareStatement(String sql) 方法中写出,因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,因此要在创建 PerparedStatement 对象时给出 SQL 语句。
    而 executeUpdate(String sql) 是 Statement 中的方法,参数中的 SQL 语句只是提交给数据库去执行,并不需要预编译。
    如果 SQL 语句中有 ? 占位符,那么在设置好占位符中的值后,必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句,且这个语句中不能带有 ? 占位符。

3.今日心得

Servlet 表单数据

  • 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。

GET 方法

GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔,如下所示:
http://www.test.com/hello?key1=value1&key2=value2

  • GET 方法是默认的从浏览器向 Web 服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中。如果您要向服务器传递的是密码或其他的敏感信息,请不要使用 GET 方法。GET 方法有大小限制:请求字符串中最多只能有 1024 个字符。

这些信息使用 QUERY_STRING 头传递,并可以通过 QUERY_STRING 环境变量访问,Servlet 使用 doGet() 方法处理这种类型的请求。

POST 方法

  • 另一个向后台程序传递信息的比较可靠的方法是 POST 方法。POST 方法打包信息的方式与 GET 方法基本相同,但是 POST 方法不是把信息作为 URL 中 ? 字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息。消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。Servlet 使用 doPost() 方法处理这种类型的请求。

使用 Servlet 读取表单数据

  • Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:

     getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。
    
     getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
    
     getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
    

JavaScript

JavaScript中的数据类型其实都是一个个js对象,比如String、Data、Array等等,对象只是带有属性值和方法的数据类型。访问对象的属性值或者方法都只需要用这样的语句即可:var_name.memberName; 下面给出一些对象中的一些属性及其方法:
字符串对象:
字符串(String)使用长度属性length来计算字符串的长度。
字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置,如果没找到对应的字符函数返回-1;
match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符,如果没有找到则返回null。
replace() 方法在字符串中用某些字符替换另一些字符。
字符串大小写转换使用函数 toUpperCase() / toLowerCase()。

4.燃尽图

5.小组合照

6.今日工作量

陈子昂 徐嘉远 林梓祺 陈鑫 陈俊池 杨赛
3h 3.5h 3.5h 3h 3.5h 3h
posted @ 2022-12-03 22:28  六个核桃、、  阅读(47)  评论(0编辑  收藏  举报