Mac使用Myeclipse搭建SSH2框架

Mac使用Myeclipse搭建SSH2框架

框架流程

1.创建一个Web Project项目;

2.添加Struts;

3.添加Spring;

4.添加一个数据库;

5.添加Hibernate链接;

创建一个Web Project项目

0

1

这里请根据自己需求来写,若改变其中内容,后续选项可能会稍有不同

2

添加架构如图所示,顺序123

添加Struts

3

4

5

安装的架包视情况而定

添加Spring

6

7

这里想文件位置改变为如图所示位置

8

添加一个数据库

9

在数据库软件中添加一个数据库,软件不限,不会请自行百度

10

切换到数据库视图,我们要将myeclipse链接到这个数据库

11

新建一个连接

12

1.使用的数据库语言

2.你要创建的链接名称

3.你的本地数据库地址

4.你的数据库用户名

5.你的数据库密码

6.添加驱动包

7.驱动bin包

8.设置驱动

9.保存密码

在第7步骤中需要下载数据库驱动jar包mysql-connector-java-5.1.47-bin.jar,具体百度获取。

注意是压缩包中 -bin 文件

12.5

测试是否连通,若出现错误,请检查上图中是否设置出错。如url,用户名,密码等。

添加Hibernate链接

13

14

15

16

Web测试

17

18

19

20

实战操作

创建三个包

21

dao包的配置

22

23

24

25

26

添加用户页面.jsp

27

添加一个form表单

28

拖动即可

30

Emmmm……

不知道为什么心中一万个曹尼玛在奔腾,老版本的拖动以后可以直接设置属性,而新版本只能右下角,最后决定还是自己手打吧,这么一个一个找实在是太费劲了,最后贴一下这段HTML代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加用户信息页面</title>
</head>
<body>

<form style="height: 268px; " name="form1" method="post" action="AddUserAction">
<table width="409" border="1" height="222">
<tr>
<td colspan="2" height="20 >
<font color="red"><s:actionmessage/></font>
</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>专业:</td>
<td>
<select name="major">
<option value="信息管理">信息管理</option>
<option value="软件工程">软件工程</option>
<option value="嵌入式">嵌入式</option>
<option value="信息化">信息化</option>
</select>
</td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" checked="checked" value="男" name="sex">
<input type="radio" value="女" name="sex">
</td>
</tr>
<tr>
<td>出生日期:</td>
<td><input type="text" name="birthday" value="yyyy-mm-dd"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button1" value="保存">
<input type="reset" name="button2" value="取消">
</td>
</tr>
</table>
</form>
</body>
</html>

31

Servic包的配置

32

33

34

35

36

37抽取出接口

最终代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.hekai.service;

import java.util.List;

import com.hekai.dao.User;
import com.hekai.dao.UserDAO;

public class UserServiceImpl implements UserService {
private UserDAO userDAO;

/* (non-Javadoc)
* @see com.hekai.service.UserService#getUserDAO()
*/
public UserDAO getUserDAO() {
return userDAO;
}

/* (non-Javadoc)
* @see com.hekai.service.UserService#setUserDAO(com.hekai.dao.UserDAO)
*/
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
/* (non-Javadoc)
* @see com.hekai.service.UserService#addUser(com.hekai.dao.User)
*/
public boolean addUser(User user) {
String username = user.getUsername();
List<User> userList = userDAO.findByUsername(username);
if (userList.isEmpty()) {
userDAO.save(user);
return true;
}else {
return false;
}
}

}

Action包

38

这里需要注意导入ActionSupport包

同理

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.hekai.action;

import java.util.Date;

import com.hekai.dao.User;
import com.hekai.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class AddUserAction extends ActionSupport {
private UserService userService;

private String username;
private String password;
private String major;
private Integer age;
private String sex;
private Date birthday;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String execute() throws Exception{
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setMajor(major);
user.setAge(age);
user.setSex(sex);
user.setBirthday(birthday);
if (userService.addUser(user)) {
this.addActionMessage("添加用户成功!");
}else {
this.addActionMessage("用户名已经存在,请选择其他用户名,添加失败!");
}
return "success";
}
}

添加页面出现的小问题

无法连接数据库

39

40

分析了一下原因发现是数据库驱动的问题,添加了这段代码就可以了,不知道为什么没有自动生成

1
2
3
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>

乱码问题

乱码问题首先是在前台页面输如进来,在console打印的时候回出现乱码

41

后来解决办法如下,将软件内所有可以更改的地方都改成UTF-8,JSP,XML中改成GB2312

打开Window->Preferences选项

完成中文编码设置。

42

打开MyEclipse->Files and Editors

43

设置Encoding为UTF-8

设置ASP and PHP、CSS、DTD、HTML、JSP、XML中的Encoding为UTF-8(Mac中请善用搜索功能)

44

选择OK,保存设置。

JDBC在建立数据连接时也需要指定一下编码

?characterEncoding=UTF-8

1
<property name="url" value="jdbc:mysql://localhost:3306/sjk?characterEncoding=UTF-8"></property>

45

设置统一编码

将所有的.xml和.jsp文件的编码方式统一设置成GB2312。

46

47

48

项目流程

1.创建数据库->创建Hibernate->生成DAO文件;

2.创建JSP页面;

3.添加Service->class(xxxxImpl)->添加Boolean方法->抽取接口文件(xxxx);

4.添加Action->添加actionsupport(xwork2)接口->调用接口等配置->;

5.修改applicationContext.xml配置文件;

6.修改suruts.xml跳转文件;

49

Action中的方法中单个方法使用的例子

1
<form name="form1"  action="ManagerAction?method=addManager" method="post">

50

Action中的方法中直接使用方法的例子

1
<form name="form1" method="post" action="AddUserAction">
TheMrxk个人博客 wechat
欢迎您扫一扫上面的本人微信号,获取更多资源!