eclipse ssh mysql数据库_Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容...
摘要
因运行后404错误,遂选择集成好SSH框架的MyEclipse开发工具;
最终实现了Struts2框架的分页查看学员信息,Spring3和Hibernate3的尝试宣告失败。
1、本项目的环境
jdk1.7.0_21;
eclipse-jee-luna-R-win32-x86_64;
apache-tomcat-8.0;
2、创建表
create table user_test(
userId int auto_increment,
userName varchar(16) not null,
password varchar(16) not null,
gender int not null,
primary key(userId)
);
3、整合SSH
在Eclipse中创建一个Dynamic Web Project,本文项目名称为SSHProject;
下载之后三者分别为50.7M、52.1M、64.9MB;【好大哇】
3.1、配置structs
首先引入jar包
jar包所在目录 struts-*\lib
-logging-*.jar,Freemarker-*.jar,Ognl-*.jar,Struts2-core-*.jar,Xwork-*-io-*.jar,commons-fileupload-*.jar,javassist-*.ga.jar
解压 struts-*/apps/struts2-blank.war 到任意地方
复制 WEB-INF/web.xml 到 项目中的目录 WEB-INF
复制 WEB-INF/src/java/struts.xml 到 项目中的目录 src
在此说明一下 apps/struts2-blank.war/WEB-INF/lib 也存在,需要引入的jar包,可以直接引入这些jar包。
引入jar包的方式
1.复制所需包到 WEB-INF/lib 下
2.配置 Window->Preferences->Java->Build Path->User Libraries
新建User Libraries,Add External Jars
右键选中项目 Properties->Java Build Path->Add Libraries->User Library::选中新建的User Libraries,Finish
最后设置运行的时候复制jar包到 WEB-INF/lib 下,不然是运行的时候会报各种找不到包的情况
Properties->Deployment Assembly->Add->Java Build Path Entries::选中引入的User Libraries
3.2、配置Spring
引入jar包,jar包所在目录spring-framework-*\libs;
编辑项目WEB-INF/web.xml文件,添加**;
在src下新建XML文件spring-applicationContext.xml;
3.3、配置Hibernate
导入jar包,jar包所在目录 hibernate-search-*\dist\lib\*
找不到jta-*.jar
然后编辑src 下XML文件 spring-applicationContext.xml;
在src 下新建XML文件 hibernate.cfg.xml;
因为 hibernate.cfg.xml 有配置mysql因此需要引入 mysql 的jar包mysql-connector-java-*.jar;
over,运行该项目,Run on Server,结果是找不到页面,既然没办法调试那就执行4、5、6;
【3.1到3.3的诸多jar包也可以直接参考文献作者提供的源码点击这里,在WB-INF的lib目录下已经包含了全部jar包;
看起来好像没必要下载SSH的三个文件,直接用源码中提供的jar包和配置文件就ok喇】
4、创建Structs项目
事实上,按照作者的步骤完成之后,项目文件如下:
web.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
SSH Project
SSH
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
SSH
/*
index.html
register.jsp
structs.xml
struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/Register.jsp
/Success.jsp
/Fail.jsp
运行项目一直显示404页面找不到错误,可能是配置文件有点问题
暂时先,跳转到【7、使用myeclipse进行struct框架开发】
5、在Struts基础上整合Hibernate
6、在Struts + Hibernate项目中整合Spring
—————————————————分割线————————————————
7、使用myeclipse进行struct框架开发
安装myeclipse-10.7-offline-installer-windows.exe;
7.1与7.2参考www.MLDNjava.cn,进行到7.2.3宣告失败;
7.3参考百度文库某文,成功;
7.1、新建一个web项目demo;
注意:选中demo后,快捷键alt+shift+x调出Run on Server之后,会弹出对话框select the Server type,此时Apache目录下的tomcat版本从3.2到7.0(MyEclipse自带的是6.0),我之前下载的是8.0版本,所以无法下一步;
但是右键demo选择run as—myeclipse Server application则可以调用内置浏览器看到页面效果;
最好还是将demo部署到自带Tomcat下,在Server选项卡下启动Tomcat,然后在浏览器下运行。(选中tomcat右键-configure Server Connection可以配置端口号);
【也可以将独立安装的Tomcat下conf,server.xml中docBase配置为MyEclipse下网站目录,即可在外部调试】
7.2、Structs基础开发
7.2.1、Structs与mvc的关系;
传统MVC开发
7.2.2、Structs主要工作原理(其操作本质上是JSP、Servlet、JavaBean等技术的应用)
【核心配置文件:struts-config.xml】
传统MVC开发模式中,所有jsp页面需要使用Scriptlet进行输出,Struts提供各种常见页面标签库以减少页面中的Scriptlet代码。
MVC与Struts各个组件对应关系:
7.2.3、 第一个Struts程序StrutsFirst 【失败了】
新建web project的时候每次都要选java EE 6.0单选框,此web项目还么有Struts的支持能力;
接着右键StrutsFirst--Myeclipse--add Struts ……--选择Struts 2单选框;
在WebRoot下新建jsp文件,选择Standard JSP Struts 1.2/1.3(没Struts 2的选项);
其中
表示已经为项目配置好了所有的标签(因为前面选得Struts 2,故报错(Can not find the tag library descriptor for "http://struts.apache.org/tags-bean"));将编码改为GBK;
【所有的处理类都是Action,每一个Action都要绑定ActionForm】,接着需要在src下的包右键new--Struts 1.3 Form Action JSP(现在小图标栏,右键配置如图)
(重新选择Struts 1.3的项目,Struts 2的src下无包);
此时在Add Struts Capabilities窗口,superclass选择ActionForm;
Properties--Add--(info);
【借助强大的MyEclipse
如果选择Struts2,可以很快有一个可以跑起来的demo;
本节选择Struts 1.3之后,为实现所需要的注册登录功能,配置挺麻烦的】
【配置完之后运行一直是400语法错误,不过好在有一个成功案例7.3】
7.3 实现Struts2分页显示功能(项目test)
工具:JDK1.6 + MyEclipse6.0 + Tomcat6.0 + MySQL5.0 + struts 2.0.11
在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:
把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库中查询出来并进行了封装的那些对象,然后通过Struts2的标签遍历List里的每个对象,并把这些对象里所包含的属性取出来展现在页面上。
7.3.1 Mark一些小问题
问题1:将选项卡视图中server误关之后,运行demo每次都有错误弹窗,此时点击Deploy MyEclipse……的按钮没有反应
解决:删除MyEclipse工作区下\.metadata\.plugins\org.eclipse.core.runtime\.settings之中删掉名为com.genuitec.eclipse.ast.deploy.core.prefs的文件,重启MyEclipse即可(此处特别鸣谢@wangkaibin 同学)
问题2:代码写完之后运行,console一直报错:java.lang.ClassNotFoundException
解决:将连接mysql的jar包通过add external library添加到test中,无效;遂直接复制到WEB-INF的lib目录下,调试成功,页面可以分页显示数据库内容;
7.3.2 底层
数据库
drop database if exists page0803;
create database page0803 ;
use page0803;
create table students (
stu_id integer auto_increment,
stuName varchar(255) not null,
address varchar(255) not null,
stuPhone varchar(255)not null,
primary key(stu_id)
);
insert into students(stuName,address,stuPhone) values('杨华林','长沙','13787825190');
insert into students(stuName,address,stuPhone) values('李明清','天津','13787525190');
insert into students(stuName,address,stuPhone) values('李小华','大连','13788451190');
insert into students(stuName,address,stuPhone) values('郑小明','苏州','13787052188');
insert into students(stuName,address,stuPhone) values('杨一新','西安','13787851190');
insert into students(stuName,address,stuPhone) values('王新任','广州','13787056460');
insert into students(stuName,address,stuPhone) values('谢小华','深圳','13787075550');
insert into students(stuName,address,stuPhone) values('王建明','厦门','13788853690');
insert into students(stuName,address,stuPhone) values('秦一生','北京','13788689236');
insert into students(stuName,address,stuPhone) values('田翠林','杭州','13787655150');
insert into students(stuName,address,stuPhone) values('陈小明','广州','13787623668');
编写PageDAO类,该类用于从数据库中取出所有的学员信息,把这些学员信息封装成一个Student对象并将其放入List中;
写不下了
由于要对数据库中的学员信息进行封装,所以需要编写一个JavaBean,即Student类;
写不下了
7.3.3 web层
web.xml
http://java.sun.com/xml/ns/j2ee
"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance
"
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
">
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
index.jsp
web层的jsp文件,分别有index.jsp(点击跳转到show.jsp)、
show.jsp
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Struts2实现分页显示
学号 | 姓名 | 地址 | 电话 |
---|---|---|---|
上一页
下一页
和error.jsp(显示一句话报错);
编写struts2的action来拦截用户的请求;
showAction.java写不下了
public String execute() throws Exception {
//核心方法
students = pageDAO.queryByPage(pageSize, pageNow) ;
return SUCCESS ;
}
配置struts.xml文件,即action和响应结果页面之间的映射:
struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"
http://struts.apache.org/dtds/struts-2.0.dtd
">
show.jsp
error.jsp
【Mark】
mysql数据库备份:mysqldump -u root -p page0803 >d:\page.sql
恢复:mysql -u username -p
此处的“数据库名”指的是要备份要哪个数据库中
至此所有的工作已经完成。
在浏览器地址栏输入http://localhost:8080/test/index.jsp,回车即可看到一个链接,点击该链接即可看到一个可以进行上一页和下一页的学员信息列表。
eclipse ssh mysql数据库_Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容...相关推荐
- Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容
2019独角兽企业重金招聘Python工程师标准>>> 摘要 学习(Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程),尝试搭建ssh框架 ...
- php修改数据库字段为空,为何修改信息后数据库表中内容为空
为什么修改信息后数据库表中内容为空 套用上一套修改课题的代码写了一个修改信息的代码,但是将内容修改提交后,再查询表中内容发现除了xuehao其他内容为空? //#################### ...
- 服务器上搭建java环境,安装tomcat以及MySQL数据库-小白教程
文章目录 前言 一.安装jdk,搭建java环境 二.安装MySQL 三.安装Tomcat 总结 前言 我第一次租服务器的时候也是从网上找方法,各种教程琳琅满目,太杂乱,我在这里做一个总结.我的系统是 ...
- 【教你搭建服务器系列】(2)搭建服务器环境,安装JDK、MySQL、Redis、Tomcat、Nginx
我白嫖过的一些云厂商: 云厂商 学生优惠 新人优惠 腾讯云 学生特惠,1核2G5M宽带,仅需9元/1个月 星星海SA2云服务器,1核2G首年99元(我目前用的) 新客户无门槛代金券,价值高达2860元 ...
- ssh 框架引入service_搭建SSH开发框架时autowired注入为空的问题
最近在搭建SSH框架,使用@Autowired自动装配时,需要注入的对象是空,表明注入失败. 尝试了很多次还是不行,现在感觉可能是spring没配置好,所以类里的注解写对也注入不进去.但是从log4j ...
- 测试环境搭建:CentOS7环境装JDK+Nginx+Redis+MySql
搭建测试环境,Linux下主流环境,搭建花了2天时间,遇到了很多问题,发出来和大家共享下,用来避坑 Virtualbox+CentOS7安装 选择Virtualbox是因为开源,下载的版本如下,这里难 ...
- mysql 导出dmp文件_Linux环境下使用crontab实现mysql定时备份
在Linux服务器环境维护中,通常会mysqldump命令来备份数据库,通常命令如下 mysqldump -uusername -ppassword --databases databasename ...
- python机器学习:搭建tensorflow环境,下载Keras库并在python中成功完成导入。pycharm的相关配置。
安装过程较长,请大家耐心阅读,其中有一些自己在安装过程中出现过的一些问题,在此一同分享给大家 一.下载Anaconda: 1.首先下载安装Anaconda,可以去官网下载 https://www.an ...
- mysql登陆 host_mysql远程可以登陆本地登陆不了(user表中host字段的通配符%)
在MySQL数据库中,使用select user();查看当前登陆用户. mysql中host字段的%与localhost不是谁包括谁的问题,是由精确到模糊进行匹配的. 说明 当用户从客户端请求登陆时 ...
最新文章
- 【怎样写代码】向现有类型“添加”方法 -- 扩展方法(二):扩展方法的实现与调用
- 是时候对XSLT说“Goodbye”了吗?
- 如何在3个月内拥有3年的工作经验
- C#远程调用技术WebService葵花宝典
- hdfs复制文件夹_HDFS常用命令
- P10全彩屏C语言编程,STC90C52RC驱动P10LED屏的程序
- html怎么样做出两列布局页面,HTML+CSS实现两栏和三栏布局
- React中useEffect使用
- MySql 不香了?我们公司为什么放弃MySql选择NewSql?
- Linux命令:tac
- 概率论与数理统计(第四版) 第一章:概率论的基本概念(总结)
- 数字电路(3)门电路(二)
- c语言scanf用法详解
- VirtualBox 删除虚拟机
- 一个画板十年工程师的PCB设计经验分享
- 小程序开发工具绑定服务器,微信小程序绑定到第三方平台流程
- [Opencv基础]人脸磨皮
- 本科生毕业论文设计-论文总体-论文格式-查重经历
- Unity3D 内存 释放
- php函数echo,PHP echo()函数讲解
热门文章
- WEB前端框架jQuery、VueJS、React.JS、Node.JS、Bootstrap解读
- 校园网开启代理服务器
- SQL练习:创建四个数据表,录入学生信息,通过SQL语句查询学生成绩
- 如何快速添加开机启动 windows 开始运行 shell:startup
- Problem running post-instal step.Installation may not complete correctly
- CTFHub-PHPINFO
- NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者
- 计算机网络 一、概述
- C# 中使用CreateFile遇到的坑
- 建模示范视频EA-024/高校毕业生就业系统试看片段-视频+图片版