商城demo项目问题合集+分页+订单详细情况

阅读: 评论:0

商城demo项目问题合集+分页+订单详细情况

商城demo项目问题合集+分页+订单详细情况

结果出不来的原因有以下:

1.字母打错
2.数据库连接写错
3.sql语句写错
4.逻辑代码写错

为什么不显示页面数据?数据库都有变化的?

原因:忘记写忽略el表达式了
问题:el写了还是显示不出来?
错误原因:

问题:

解决方案:
1.查看哪里报错
2.编写测试类:psvm一个一个的排除错误


到这一步发现没有错误,那就是上一行出错了

写测试类测试主方法:

找到错误了:order_表里没有oid字段


启示:每加一个dao功能就写一个测试类测试一下,防止到后续出现较多的错误
功能业务逻辑:订单处理

  1. 数据库设计?
    订单表(Order)的字段设计:id uid
    订单项表(OrderItem):id pid num oid
    如图:


  • 为什么这么设计呢?(不懂外键的作用?外键的好处)



2. 业务层?

  1. 界面层?

功能:分页代码

package Servlet;import DAO.StudentDAO;
import pojo.Student;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 java.io.IOException;
import java.util.ArrayList;
import java.util.List;@WebServlet(name = "StudentListServlet",urlPatterns = {"/ListStudent"})
public class StudentListServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String userName=(Session().getAttribute("username");if(userName==null){resp.sendRedirect("login.html");return;}//        初始化start值和countresp.setContentType("text/html;charset=UTF-8");int start=0;int count=5;try {start=Integer.Parameter("start"));}catch (NumberFormatException e){e.printStackTrace();}int next=start+count;int pre=start-count;//        获取表记录总数int total=new StudentDAO().getTotal();//        尾页int last;if(total%count==0){last=total-count;}else {last=total-total%count;}pre=pre<0?0:pre;  //首页不能小于0next=next>last?last:next;  //下一页不能大于尾页List<Student> stus=new StudentDAO().list(start,count);
//        通过DAO类获取数据 存在stus视图req.setAttribute("next",next);req.setAttribute("pre",pre);req.setAttribute("last",last);req.setAttribute("stus",stus);RequestDispatcher("ListStudent.jsp").forward(req,resp);}
}

我的问题

1.页面嵌套时:JSP包含其他页面的必须有param参数

无法在一新页面包含另一页面:

解决方案:
用<%@include file=“testJSPinclude.jsp”%>即可

总结:嵌入页面两种方式:

2.使用监听器和过滤器时都需要在l文件中配置

3.session的用法
session只有在JSP页面中可以直接通过session对象获取,在后端获取,只有通过request对象获取&#Session()方法
后端获取session对象:将登录名以session的属性存放在session中。


JSP页面获取session对象:


session的用法2:限制了用户以URL的形式访问登录成功后的页面。

session和cookie的合作工作流程:
当访问一个新页面时(新页面JSP里面可以设置session值),服务器发现没有jsessionid,于是创建了一个jsessionid,并且给新设了的session存放在session中,于是会将jsessionid保存在本地cookie中,这是服务器会取出jsessionid,并且比较session,将session值取出来

cookie和session的区分:

4.环境出问题

解决方案:

6.当过滤器加上/*时,会导致请求页面的信息被过滤掉(就是显示不了页面),图片也是会显示不了
解决方案:
暂时这么解决

本文发布于:2024-01-28 01:53:44,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063780323966.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分页   合集   详细情况   订单   商城
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23