SSH平台搭建步骤及易冲突包删除.docx
- 文档编号:11562035
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:38
- 大小:1.20MB
SSH平台搭建步骤及易冲突包删除.docx
《SSH平台搭建步骤及易冲突包删除.docx》由会员分享,可在线阅读,更多相关《SSH平台搭建步骤及易冲突包删除.docx(38页珍藏版)》请在冰豆网上搜索。
SSH平台搭建步骤及易冲突包删除
新建工程
框架整合顺序最好是先struts2,然后spring,最后hibernate
1.new一个javawebproject
1.1添加Struts2.1框架支持
去除冲突包:
antlr-2.7.2.jar
如图:
选择要删除的包:
选择struts2支持包:
一般项目加上这三个包足够,后期可以视项目需求增加支持包
效果图:
然后:
修改WEB-INF下的web.xml,增加struts2的配置,增加容器对struts2的初始化。
增加代码如下:
这些配置代码对于struts2是不变的,直接复制到web.xml即可。
--struts2过滤器,对任何请求都添加这个过滤器-->
一般配置文件在src下使用上面的配置就可以了,如果不是在src下就要加上下面的配置
struts-default.xml,struts-plugin.xml,../struts/struts.xml
3.添加src下添加struct.xml文件
--
-->
--另一种配置方式-->
--
/login/login.jsp
-->
--
-->
2.2增加Spring框架支持
一般是增加这六个支持包
效果图:
为了让web容器能够很好的初始化Spring
在web.xml中配置
初始化加载spring资源配置文件
--指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:
前缀指定从类路径下寻找-->
classpath:
com/ssh/resource/applicationContext*.xml
配置一个监听器,用于自动初始化Spring,
--对Spring容器进行实例化-->
2.3配置数据源
在右上角databaseexplorer
新建
3、增加Hibernate框架支持
切换到MyEclipseJavaEnterprise视图,添加Hibernate框架支持
删除冲突包:
asm.jarcglib-2.1.3.jar
注意:
在这个整合的过程中,容易包冲突:
Spring中的cglib-nodep-2.x.x.jar与Hibernate中的cglib-2.2.jar相冲突
解决办法:
取消Hibernate中的cglib-2.2.jar即可,或者删除cglib-2.2,cglib-2.1.3,cglib-nodep-2.x.x.jar,直接导入ams-all-4.0.jar包。
切换到MyEclipseDatabaseExplorer视图:
选择我们建立的链接,点开,找到对应的table,user,右键,接着看图吧
接着的内容,就是和下面给图要一样,该设置的途径设置,该选的勾都要勾上。
然后这里要点next
效果图:
3代码设计
/*---------------------------------------------------------------------*/
上面完成了主要动手操作的部分,下面代码的东西,多一些。
、
为了组织代码,先建立四个package,如下图:
packagecom.ssh.dao;
importjava.util.List;
importcom.ssh.user.User;
publicinterfaceIUserDAO{
publicUserfindById(Integerid);
publicListfindByUsername(Objectusername);
publicvoidsave(Useruser);
}
在com.ssh.dao下建立一个接口,IUserDAO.java
把UserDAO拖到com.ssh.dao.impl下
UserDAO.java里要做稍微的修改,要加implementsIUserDAO
修改前:
修改后:
packagecom.ssh.service;
importcom.ssh.user.User;
publicinterfaceIUserService{
publicUsergetUserById(Integerid);
publicUsergetUserByUsername(Stringusername);
publicvoidaddUser(Useruser);
}
在com.ssh.service下建立IUserService.java
在com.ssh.service.impl下建立UserService.java
packagecom.ssh.service.impl;
importjava.util.List;
importcom.ssh.dao.IUserDAO;
importcom.ssh.service.IUserService;
importcom.ssh.user.User;
publicclassUserServiceimplementsIUserService{
privateIUserDAOuserDAO;
publicvoidaddUser(Useruser){
userDAO.save(user);
}
publicUsergetUserById(Integerid){
returnuserDAO.findById(id);
}
publicUsergetUserByUsername(Stringusername){
Listlist=userDAO.findByUsername(username);
if(list.size()==0){
returnnull;
}else{
return(User)list.get(0);
}
}
publicIUserDAOgetUserDAO(){
returnuserDAO;
}
publicvoidsetUserDAO(IUserDAOuserDAO){
this.userDAO=userDAO;
}
}
效果图:
接着要在applicationContext.xml中添加一个bean的信息
每次要用到的实体bean都要在此文件中进行加载(daobean,servicebean)
展现下做完这不后,整个applicationContext.xml的全部内容:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http: //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-2.5.xsd"> class="mons.dbcp.BasicDataSource"> value="com.mysql.jdbc.Driver"> value="jdbc: mysql: //127.0.0.1: 3306/s1sh_demo"> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> org.hibernate.dialect.MySQLDialect
packagecom.ssh.action;
importcom.opensymphony.xwork2.ActionSupport;
importcom.ssh.service.IUserService;
importcom.ssh.user.User;
publicclassLoginActionextendsActionSupport{
privateStringusername;
privateStringpassword;
privateIUserServiceservice;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
下面写处理action的java文件,先创建包
。
接着新建LoginAction.java文件。
具体内容:
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicIUserServicegetService(){
returnservice;
}
publicvoidsetService(IUserServiceservice){
this.service=service;
}
publicStringexecute(){
Useruser=service.getUserByUsername(username);
if(user==null)return"err";
if(user.getPassword().equals(password))
return"suc";
else
return"err";
}
publicvoidvalidate(){
if(username==null||username.length()==0){
super.addActionError("用户名不能为空");
}
if(password==null||password.length()==0){
super.addActionError("密码不能为空");
}
}
}
在applicationContext.xml中加入一句
每次用到的actionbean也要在此文件中加载,以便spring把action——>service——>dao的实例创建,及关联加载。
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:
//struts.apache.org/dtds/struts-2.1.dtd">
修改struts.xml文件,修改前:
修改后:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:
//struts.apache.org/dtds/struts-2.1.dtd">
每次增加的action在此文件中增加,进行前台页面和action的关联映射
WebRoot文件夹下新建一个login.jsp文件,内容如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@taglibprefix="s"uri="/struts-tags"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--
-->
formname="form1"action="login.action"method="post"> textfieldname="username"label="username"> textfield> passwordname="password"label="password"> password> submitlabel="submit"> submit>
form>
actionerror/> 还有两个容易冲突的包,如果你的项目中有的话: 有这个两个 ,把上面的 这个删除了。 有 ,删除下面 这个删除了。 附图一张,是WEB-INF\lib下的所有jar文件。 以及重要的配置文件(web.xml,struts.xml,applicationContext.xml)的全部内容,我觉得这些是关键。 xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http: //struts.apache.org/dtds/struts-2.1.dtd"> Struts.xml xmlversion="1.0"encoding="UTF-8"? > xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 平台 搭建 步骤 冲突 删除