这里主要是自己大二的学校课程下的上机任务[中]!
笔者能力有限,有很多不足的地方望指正!
2022年4月20日08:33:54
war包: 第8个war包: 试验相关要求:自行完成相应的动作和思考 0.读完程序中的文档,即注释,如果有相关问题,则直接回答问题。 本项目模拟一个购物车的业务 1 javabean的规范 2 javabean作为数据封装用 3 javabean作为业务逻辑组件用 4 servlet作为业务控制器用 5 servlet直接向客户端输出HTML页面和数据结果 6 html和jsp都没有,没有页面,但我们也看到了输出的网页界面,思考jsp的本质,用servlet也可以输出页面 7 errors:易踩到的坑:绝对路径与相对路径 在页面内部的HTML中的连接地址,只能认为是客户端的 在servlet内部的转发地址,肯定是在服务端的 客户端的根在站点 服务端的根在应用程序 而:一个站点可以有多个web应用程序 8 please首先请求showProduct控制器,验证和思考业务本身
正常的运用到了javabean,对商品对象进行了封装, 全war包没有前端静态资源, 但是也实现了前端的页面效果:
通过:PrintWriter out=response.getWriter();
写html等到浏览器:
out.println("");
out.println("ShowCartServlet ");
out.println("");
out.println("你目前没有购买任何商品
");
out.println("+response.encodeUrl("./show")+"">返回产品显示页
");
out.println("");
商家对象只有唯一, 卖家可以有很多, 分别对应服务器和客户端的关系:
所以将商家提供的资源products存进context上下文中, 保证为全局变量, 所有人共享, 买一份少一份!
本app还用到了一个对products对象操作的封装, 将商品数量增、减、显示封装到了一个业务组件中shopcart
如果加入数据库, 则
public void init() throws ServletException{
// 用HashMap来做商店,初始化各种商品,供所有用户来购买
// 初始时,商品库存数量均为100个
products=new HashMap();
products.put("001",new Product("001","海信电视机","58英寸,LED液晶显示,安卓操作系统,2014年上市",6999.00,100));
products.put("002",new Product("002","海尔洗衣机","洗涤容量6Kg,滚筒式,LED显示屏,内筒材料为不锈钢",3999.00,100));
products.put("003",new Product("003","格力空调","三级变频,壁式挂机,超静音,超长质保,强力除湿",3269.00,100));
products.put("004",new Product("004","海尔热水器","横式,专利金刚三层胆,专利金刚三层胆,60L",2780.00,100));
products.put("005",new Product("005","西门子冰箱","三门冰箱,电脑控温,总容积为231-280L,能效等级为一级",5780.00,100));
ServletContext context=getServletContext();
// 商店置于APP全局中,所有人共享可用,买走1份少1份
context.setAttribute("products",products);
}
这段表示数据库中商品的初始化部分!,如果要对数据库中的products进行操作的话则需要用到类似jdbc, mybatis,jpa,等技术
第9个war包: 试验相关要求:自行完成相应的动作和思考 0.读完程序中的文档,即注释,如果有相关问题,则直接回答问题。 进行一个最简单的用户登录的模拟 1 界面如何组织参数输入 2 参数如何传到服务器上进行相应的处理 3 一个servlet从接请求到给响应要做些什么事情? 4自己要慢慢熟悉在前端用html里的form的方式向后台提交数据,提交请求
实验大致流程:
访问:
http://localhost:8080/09/login.html
打开f12可以知道, 有发出请求:
请求 URL: http://localhost:8080/09/login?username=%E5%85%B4%E8%B6%A3%E4%BD%BF%E7%84%B6%E7%9A%84%E5%B0%8F%E5%B0%8F&password=nihao //中文会出现百分号形式的编码第10个war包: 试验相关要求:
自行完成相应的动作和思考 0.读完程序中的文档,即注释,如果有相关问题,则直接回答问题。 01 最简单的示例,用eclipse生成servlet 02 再生成一个servlet 03 第三个servlet 04 第四个servlet 05 第五个servlet 06 MyServletDefault默认的servlet 07 自定义出错信息【出错页统一规划】 不看注解 ,看web.xml文件的配置



