9:00 继续做web。现在遇到了一个问题,就是登录之后不会自动跳转到success页面,而且显示用户名密码错误;但是导航栏写是/login。
嗷,把问题写出来就明白了,/login是loginServlet的url-pattern。我再看一看
9:15 看了下控制台,报错ClassNotFoundException。我开始还以为是没有导入jdbc的包,然后看了一下已经导入了。于是按com.mysql.cj.jdbc.Driver找,发现jdbc下的确没有Driver,是jdbc.util才有Driver。这样就不报错了。然后重新运行,发现新的问题:浏览器的报错,发现这个servlet根本都不是一个servlet,是一个文件夹。这就有问题了。可能是哪里写错了。
9:26 当时可能是复制点错了。加上.LoginFormServlet就好了;但是一登录就还是报ClassNotFoundException。看看老师视频
解决之后,又有新的报错:
java.sql.SQLException: The server time zone value ‘?й???’ is
unrecognized or represents more than one time zone. You must configure
either the server or JDBC driver (via the ‘serverTimezone’
configuration property) to use a more specific time zone value if you
want to utilize time zone support.
熟悉的时区设置。在MySQL里搞一下,set global time_zone='+8:00';
登录进去了。但是还有错。
一步步分析:能够页面跳转,但是显示“您还未登录,请重新登录”,说明能够得到用户输入并通过业务逻辑层到数据层查找,成功返回对应的一个User对象。而且这个对象不是null,才会能进行页面跳转到success.jsp。所以就是跳转过程中出现的问题。
的确,我success.jsp直接复制的之前的代码,上面是session.getAttribute(“username”)。这里传过来的是一个User对象,改一下判断就好。成功了。
10:24 开始搞真正的web实验了!八小时准备!先去上个洗手间。
业务逻辑——商品展示+账户管理+订单管理
相关结构:inventory库存,lineItem选中的商品、orders订单
账户——account.java
购物车——cart, cartitem
word——lineItem,下面的