SSH平台搭建.docx
- 文档编号:3461846
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:36
- 大小:914.74KB
SSH平台搭建.docx
《SSH平台搭建.docx》由会员分享,可在线阅读,更多相关《SSH平台搭建.docx(36页珍藏版)》请在冰豆网上搜索。
SSH平台搭建
6/16/201112:
47:
43AM
折腾了大半个晚上,终于调通了,之前一直是说我action处理的结果,比如success未定义,后来最后找到的是因为lib下有两个不同版本的
,就是类似这个jar包,我把这个jar包删除,留下了另外一个,后来程序就正常了。
下面,我还是记录下怎么做出来的,做一个详细的,以后我自己要再搭建平台的时候也会有资料可以看。
1配置数据库
/*---------------------------------------------------------------------------------------------------------*/
实验环境:
MyEclipse9.0M1
apache-tomcat-7.0.11.tar
MySQL5.0
Jar包:
struts2-spring-plugin-2.2.1.jarmysql-connector-java-5.1.8-bin.jar
createdatabases1sh_demo;
uses1sh_demo;
createtableuser(
idint(11)notnullauto_increment,
usernamevarchar(50)defaultnull,
passwordvarchar(50)defaultnull,
primarykey(id)
);
insertintouservalues('1','admin','admin');
数据库建表代码:
2新建工程
1.new一个javawebproject,我取名字为S2SH_Demo_3
2.1添加Struts2.1框架支持
效果图:
2.2增加Spring框架支持
效果图:
下面还有好多jar包….
2.3配置数据源
在右上角databaseexplorer
新建
2.4Spring与Hibernate的整合
切换到MyEclipseJavaEnterprise视图,添加Hibernate框架支持
切换到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的信息
展现下做完这不后,整个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
整合struts2和Spring
--Listener-->
为了让web容器能够很好的初始化Spring,要修改web.xml。
添加如下内容
下面呈现以下,web.xml的全部内容:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns=" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" --Listener--> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 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中加入一句 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"> <%@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/> WebRoot文件夹下新建一个login.jsp文件,内容如下: 接下来,就是处理一些Jar包的问题,这步弄了,就完了。 先把struts2-spring-plugin-2.2.1拷到WEB-INF\lib下。 EVERE: Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Errorcreatingbeanwithname'sessionFactory'definedinServletContextresource[/WEB-INF/applicationContext.xml]: Invocationofinitmethodfailed;nestedexceptionisorg.hibernate.HibernateException: Unabletoinstantiatedefaulttuplizer[org.hibernate.tuple.entity.PojoEntityTuplizer] 然后就把这个程序在server上跑起来,会出现下面这样的报错: (太长,我截取关键) Causedby: java.lang.reflect.InvocationTargetException Causedby: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V 这些都是因为jar包引起的错误。 处理办法是你去tomcat的webapps,找打自己的项目的WEB-INF下的lib, 有这个两个 ,把上面的 这个删除了。 有 ,删除下面 这个删除了。 做完了上面这些,你点击RestartServer ,应该就没什么错了,接着你就可以测试一下是不是对了。 PS: 附图一张,是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">
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 平台 搭建