更多SSH开发在框架开发
1 SSH项目的一些部署
1.1 项目目标与版本介绍
目标: 用户单表的添加,查询与删除操作
版本: hibernate-release-5.0.12.Final
,spring-framework-4.2.4.RELEASE-dist
,struts-2.3.24-all
1.2 SSH知识分析
Spring的一些提醒点:
- 让Spring的配置文件在服务器启动的时候加载,所以需要在web.xml中配置监听器和指定spring配置文件的位置。
- Spring的配置文件可以弄成多模块开发。即,将代码过多的spring配置文件分成多个小的配置文件,这些小配置文件在总配置文件中引入即可。
Spring整合Struts2的一些提醒点:
- 不要忘记web.xml中要引入过滤器
- 整合后要将Struts2中的action交给Spring管理,并且将action配置成多实例的。
Spring整合Hibernate的一些提醒点:
- Hibernate的SessionFactory交给Spring配置。Hibernate的SessionFactory对象创建在第一次调用的时候创建,会造成第一次访问很慢,而Spring配置文件会在服务器启动时加载,所以将SessionFactory的创建交给Spring以增加速度。
- Hibernate的数据库配置交给Spring配置。
- HibernateTemplate的使用需要Spring事务管理的加持。
2 SSH项目
2.0 项目的前期部署
开发工具 :tomcat9.0+jdk8+eclipse+mysql8.0+linux(ubuntu18.04)平台
数据库创建:
create database db_sshUser;
导jar包操作:
包 | 包 |
---|---|
2.1 创建项目
本文项目所有目录结构如下:
2.2 前端的一些jsp
listAll.jsp, 主页面。
功能:
- 显示查询的所有用户: 用到struts2的OGNL+值栈
- 根据id删除用户: 超链接形式向action中传递了一个用户id。
- 跳转添加页面的超链接 : 超链接到另一个添加jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!--引入struts标签库 -->
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>所有用户</title>
</head>
<body>
<a href="${pageContext.request.contextPath}/user_findAll">查看所有用户</a>
<table>
<tr>
<td>名字</td>
<td>地址</td>
<td>操作</td>
</tr>
<!-- 使用OGNL+struts标签的方式取到值栈中的内容,常用 -->
<s:iterator value="userList" var="user">
<tr>
<td><s:property value="#user.username"/></td>
<td><s:property value="#user.useraddress"/></td>
<td>
<a href="${pageContext.request.contextPath}/user_delUser?uid=<s:property value="#user.uid"/>">删除该用户</a>
</td>
</tr>
</s:iterator>
</table>
<a href="${pageContext.request.contextPath}/jsp/addUser.jsp">添加用户</a>
</body>
</html>
addUser.jsp, 添加页面
功能:
- 提交添加属性表单到action中处理
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加用户</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/user_addUser.action" method="post">
用户名:<input type="