myeclipse快速搭建SSH框架Myeclipse+Tomcat80+Mysql.docx
《myeclipse快速搭建SSH框架Myeclipse+Tomcat80+Mysql.docx》由会员分享,可在线阅读,更多相关《myeclipse快速搭建SSH框架Myeclipse+Tomcat80+Mysql.docx(24页珍藏版)》请在冰豆网上搜索。
myeclipse快速搭建SSH框架Myeclipse+Tomcat80+Mysql
SSH框架
Struts2.1+Spring3.1.1+Hibernate4.2.0
环境说明
本文章是轻量级SSH框架搭建,也是实际应用中比较全面的基础框架。
其中SSH指:
Struts,Spring,Hibernate,是一个将MVC思想发挥的很好的web框架。
开发平台:
Windows7+MyEclipse2014+Tomcat8.0.3+JDK1.8+Mysql
不同的版本大同小异。
其中SSH所需的包均直接使用MyEclipse2014内集成的jar包,这样无需手动添加,比较方便。
建立工程目录
新建工程
打开MyEclipse,新建一个webproject:
file->new->WebProject 如下图所示:
然后next两步,到下面时,修改一点:
之后直接next到finish即可,建立后目录如下:
建立src目录
为了使得目录结构清晰,将不同层次的源程序放到不同包内,分别建立
如下4个目录:
-com.ssh.action:
存放Action代码
-com.ssh.service:
存放Service代码
-com.ssh.dao:
存放Dao代码
-com.ssh.entity:
存放数据库实体类
直接右击src,然后new->package 如下图:
然后直接finishi即可。
同样的步骤建立剩下三个目录。
这一步完成后的目录如下:
导入Struts,Spring,Hibernate环境
就是导入SSH环境了,这里使用的是MyEclipse集成的jar包
导入Struts
过程:
右击项目名SSH 然后 MyEclipse->ProjectFacets[capabilities]->InstallApacheStruts2.xFacet
初始图如下:
next到这步修改为第三项(重要):
之后一直到finish即可。
安装完了之后,会发现在目录下多了关于struts的jar包目录。
导入Spring
导入Spring与Struts过程几乎相同
右击项目名称:
MyEclipse->ProjectFacets[capabilities]->InstallApacheSpringFacet 之后一路next到finish即可。
导入hibernate
这个比较复杂一些,需要先配置数据库连接。
建立数据库
这里建立一个数据库表来测试搭建是否成功。
createdatabasesshtest;
usesshtest;
createtablet_user
(
idintnotnullauto_increment,
namevarchar(20)notnull,
passwordvarchar(10)notnull,
primarykey(id)
);
insertintot_uservalues(1,'ssh','123456');
建立连接
建立数据库之后,在MyEclipse里面通过中间键来连接。
过程如下:
首先切换到数据库视图:
菜单栏Window->openperspective->showMyEclipsedatabaseexplorer
如下图:
开始只有一个MyEclipseDerby,我们新建一个,右击它,然后new,如下图:
修改如下,这里需要一个连接数据库的jar
完成之后,点击 TestDriver 如果出现建立成功即可。
然后在程序的右上角,切换到MyEclipse视图。
导入Hibernate
建立了数据库连接之后,就可按照导入struts,与spring的样子,导入
Hibernate。
右击工程MyEclipse->ProjectFacets[capabilities]->InstallApacheSpringFacet 如下图:
然后next到此处:
修改目录:
在next到此处加入上一步新建的数据库连接。
建立完成之后,直接yes即可。
映射数据库表
然后在切换到Database视图。
如图:
选择:
HibernateReverseEngneering.
next到此处时:
注意修改
然后finish即可。
之后切换到MyEclipse视图,此时目录结果如下:
此时SSH的jar包以及数据库的映射完成。
建立Java与Jsp文件
上一步结束之后,开始在四个目录里面写东西了。
其中 dao与service 都是建立一个接口,一个实现。
首先是 com.ssh.dao ,:
在dao目录右击,new->interface:
名字处填写:
UserDAO,代码如下
packagecom.ssh.dao;
importcom.ssh.entity.TUser;
publicinterfaceUserDAO{
publicTUserqueryUserByName(Stringname);//查询函数
}
然后创建dao的实现:
new->class 名字为:
UserDAOImpl
代码如下:
packagecom.ssh.dao;
importorg.hibernate.Query;
importorg.hibernate.SessionFactory;
importcom.ssh.entity.TUser;
publicclassUserDAOImplimplementsUserDAO{
privateSessionFactorysessionFactory;
publicTUserqueryUserByName(Stringname){
Queryquery=sessionFactory.getCurrentSession().createQuery(
"fromTUserasuwhereu.name=?
");
query.setString(0,name);
TUseru=(TUser)query.uniqueResult();
returnu;
}
publicSessionFactorygetSessionFactory(){
returnsessionFactory;
}
publicvoidsetSessionFactory(SessionFactorysessionFactory){
this.sessionFactory=sessionFactory;
}
}
然后创建service代码:
先建立一个interface:
在com.ssh.service 目录里面,new->interface 名字:
UserService 代码如下:
packagecom.ssh.service;
publicinterfaceUserService{
publicbooleanlogin(Stringname,Stringpassword);
}
在 new->class:
UserServiceImpl`代码如下:
packagecom.ssh.service;
importcom.ssh.dao.UserDAO;
importcom.ssh.entity.TUser;
publicclassUserServiceImplimplementsUserService{
privateUserDAOuserDAO;
publicbooleanlogin(Stringname,Stringpassword){
TUseru=userDAO.queryUserByName(name);
if(u==null){
returnfalse;
}else{
if(u.getPassword().equals(password)){
returntrue;
}else{
returnfalse;
}
}
}
publicUserDAOgetUserDAO(){
returnuserDAO;
}
publicvoidsetUserDAO(UserDAOuserDAO){
this.userDAO=userDAO;
}
}
最后建立action 文件,在 com.ssh.action 目录下:
new->class 名字为:
LoginAction
代码为:
packagecom.ssh.action;
importcom.ssh.service.UserService;
publicclassLoginAction{
privateStringname;
privateStringpassword;
privateUserServiceuserService;
publicStringlogin(){
/*NAME和PASSWORD为空则返回登录页面,否则验证登录*/
if(null==name&&null==password){
return"login";
}else{
Booleanu=userService.login(name,password);
if(u){
return"ok";
}else{
return"error";
}
}
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicUserServicegetUserService(){
returnuserService;
}
publicvoidsetUserService(UserServiceuserService){
this.userService=userService;
}
}
到此java文件建立完成。
下面建立三个测试的jsp文件:
在 WebRoot 下建立三个jsp步骤:
右击webroot, new->jSP(..),分别命名为:
login.jsp , loginOk.jsp, loginError.jsp ;代码分别如下:
login.jsp:
UserName
Password
loginOk.jsp:
代码
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
欢迎~登陆成功
loginError.jsp:
代码
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
登录失败!
至此,jsp,java文件均已完成,下面也是最关键的,修改配置文件。
修改配置文件
首先修改struts.xml 在src下,将struts.xml 修改为:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:
//struts.apache.org/dtds/struts-2.1.dtd">
login.jsp
loginOk.jsp
loginError.jsp
然后修改同一个目录下的:
ApplicationContent.xml 可以看出,原来的文件里面已经有了不少内容,且都是由bean块组成。
我们需要修改并添加一些内容,完整的代码如下:
数据库名字,数据库密码(自己用的是951214)等因人而异。
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
p="http:
//www.springframework.org/schema/p"
xsi:
schemaLocation="http:
//www.springframework.org/schema/beanshttp:
//www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp:
//www.springframework.org/schema/txhttp:
//www.springframework.org/schema/tx/spring-tx.xsd"
xmlns:
tx="http:
//www.springframework.org/schema/tx">
destroy-method="close">
mysql:
//localhost:
3306/sshtest">
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
org.hibernate.dialect.MySQLDialect
com/ssh/entity/TUser.hbm.xml
com/ssh/entity/GoodsInfo.hbm.xml
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
--指明进行事务管理业务方法名[*是通配符]-->
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
--登录Action-->
--userDAO-->
annotation-driventransaction-manager="transactionManager"/>
其中新加的关键部分就是,每次添加新的功能时,都需要照猫画虎的,加上两个相应的bean。
--登录Action-->
--userDAO-->
最后添加 jdbc.properties 在src目录下,new->file 名字直接填:
jdbc.properties
修改内容如下:
数据库名字,数据库密码等因人而异。
proxool.maxConnCount=10
proxool.minConnCount=1
proxool.statistics=1m,15m,1h,1d
proxool.simultaneousBuildThrottle=5
proxool.trace=false
proxool.verbose=false
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:
mysql:
//localhost:
3306/sshtest?
useUnicode=true&characterEncoding=gbk
jdbc.username=root
jdbc.password=951214
具体的原理,看代码也大概看的差不多。
多加几个慢慢就熟悉了。
我这就不细讲每一行的作用了。
测试
至此,环境搭好了,不过还有一点点瑕疵,就是struts包与Hibernate包里面有重复的antlr.jar不过版本不同,可能会引起错误。
因此我们移除掉struts的antlt2.7.2.ja