java中html 页面提交,JavaWeb14-HTML篇笔记(二)

1.1.1.1 商品的查询的功能:

在首页上点击【查询所有商品】链接:

提交到Servlet中:

* 调用业务层-->调用DAO:

* 将商品列表保存到request域中:

* 转发到商品列表页面:

在商品列表的页面中显示商品:

1.1.1.2 商品的添加的功能:

在首页点击【添加】链接:跳转到添加页面.

在添加页面中输入信息:点击【提交】提交到Servlet

在Servlet中:

* 接收数据:

* 封装数据:

* 调用业务层:

* 页面跳转

* 重复提交的问题:

* 添加完商品之后,转发到一个页面,刷新该页面.

* 网速很慢,点击提交的按钮,其实已经在提交了但是网速慢,不停的点击提交.

* 解决重复提交的根本解决办法:令牌机制(一次性).

* 生成随机的令牌保存在session中.

* 在表单的提交的时候,将随机的令牌放入到表单的隐藏字段中.

* 在Servlet中获得session中和表单中的令牌是否一致.

* 如果一致执行插入操作,不一致跳转到其他页面.将令牌销毁.

* 代码实现:

// 判断是否是重复提交:

String token1 = (String)request.getSession().getAttribute("token");

String token2 = request.getParameter("token");

// 清空session中的令牌:

request.getSession().removeAttribute("token");

if(!token2.equals(token1)){

request.setAttribute("msg", "亲!您已经提交过!请不要重复提交了!");

request.getRequestDispatcher("/jsp/msg.jsp").forward(request, response);

return;

}

1.1.1.3 商品的信息的修改:

在列表页面上点击【修改】链接:

提交到Servlet:根据id查询该商品.将商品的信息显示到修改页面:

在修改的页面上修改数据,点击【提交】按钮:

提交到Servlet:完成商品信息的修改:

1.1.1.4 商品的信息的删除:

在列表页面上点击【删除】链接:

提交到Servlet:

调用业务层完成删除的操作:

***** 扩展删除多条记录:

1.1.1.5 商品模糊查询:

1.1.1.6 商品分页显示:

分页条: 【首页】【上一页】[1][2][3][4]【下一页】【尾页】

分页功能的实现:

* 物理分页:一次只查10条记录,点击下一页,再去查询后10条.使用SQL语句进行控制的分页.

* 缺点:经常需要和数据库交互.

* 优点:数据量特别大,不会导致内存的溢出.

* 逻辑分页:一次性将所有数据全都查询出来,根据需要进行截取.List集合进行控制. subList();

* 缺点:数据量如果特别大,容易导致内存溢出.

* 优点:与数据库交互次数少.

* 不同的数据库对分页的语句也是不一样的:

* MYSQL进行分页: 使用limit关键字.

* select * from xxx where .. Group by ... Having ... Order by ... limit a,b; -- a:从哪开始 b:查询的记录数.

* 根据页数计算 limit后面的两个参数:

* currPage begin pageSize

1 0 10

2 10 10

3 20 10

* begin = (currPage - 1) * pageSize;

* 参数的传递:

* 前台--->后台:currPage

* 后台--->前台:currPage,totalPage(总页数),totalCount(总记录数),pageSize,List集合.

* 使用JavaBean封装参数:

* 后台--->前台:传递一个JavaBean就可以.

* Oracle进行分页: 使用SQL语句嵌套.

* SQL Server数据库进行分页: 使用 top 关键字.

* 在首页上添加一个分页查询的链接:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java EE 项目的目录结构可以根据具体的需求进行灵活设计,但一般情况下,推荐使用以下的标准目录结构: ``` project ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ ├── controller │ │ │ ├── dao │ │ │ ├── entity │ │ │ ├── service │ │ │ └── util │ │ ├── resources │ │ │ ├── mapper │ │ │ └── db.properties │ │ └── webapp │ │ ├── WEB-INF │ │ │ ├── classes │ │ │ ├── lib │ │ │ └── web.xml │ │ ├── css │ │ ├── js │ │ ├── images │ │ └── index.jsp │ └── test │ ├── java │ └── resources ├── target ├── pom.xml └── README.md ``` 其,各个目录的作用如下: - `src/main/java`:存放项目的 Java 源代码,按照包名分层,一般包括 `controller`、`dao`、`entity`、`service` 和 `util` 等包; - `src/main/resources`:存放项目的配置文件和资源文件,一般包括数据库连接配置文件 `db.properties`、MyBatis 的 mapper 文件等; - `src/main/webapp`:存放 Web 应用的 Web 资源,包括 JSP 页面、CSS 样式表、JavaScript 脚本等; - `src/test/java`:存放项目的测试代码; - `src/test/resources`:存放测试代码所需要的资源文件; - `target`:存放编译后的 .class 文件、打包后的 .war 文件等; - `pom.xml`:Maven 项目管理工具的配置文件; - `README.md`:项目说明文件。 以上是一种常见的 Java EE 项目目录结构,但并不是唯一的标准。在实际开发,可以根据项目的具体需求进行合理的调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值