「javassh配置」ssh框架配置
本篇文章给大家谈谈javassh配置,以及ssh框架配置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何搭建SSH框架,myeclipse搭建SSH框架详解
- 2、ssh缓存配置怎么操作
- 3、JAVA怎么通过SSH隧道连接数据库查询
- 4、java中SSH框架的实体类设置get,set方法问题
- 5、怎么用java实现ssh协议通信
如何搭建SSH框架,myeclipse搭建SSH框架详解
新建web工程
在myeclipse中点击new--web project。
在Project Name 里输入SSH,选择java ee 5.0,版本设置在1.5以上。
struts依赖包
下面来添加struts依赖包。
右击工程,选择“myeclipse”在二级菜单找到“Add Struts Capabilities”点击进入。
按照图中选择struts 2.1的,然后点击完成。
添加struts的依赖包。点击完成。
添加spring框架依赖包
下面来添加spring依赖包。
右击工程,选择“myeclipse”在二级菜单找到“Add Spring Capabilities”点击进入。
选择spring3.0的,然后勾上红框中的包,并且把这些包放到lib目录下面。
选择存放资源的位置。
点击完成后,spring部分的搭建完毕,可以看到文件夹上带有“S”的标志。
建立一个数据库连接
在配置hibernate之前,先建立一个数据库的连接。myeclipse右上角找到切换视图的图标,点击,找到“MyEclipse Database Explorer”点击进入。
右击新建一个连接“new“
这里使用的是mysql数据库,所以选择这个,驱动包可以到网上下载,提供的项目里面拿。放在lib下面了。
添加完驱动后,点击完成。
右击新建好的数据库连接,选择”open another connection“连接数据库,看是否成功,成功后可以看到数据库的表结构。
添加hibernate依赖包
下面来添加hibernate依赖包。
右击工程,选择“myeclipse”在二级菜单找到“Add Hibernate Capabilities ”点击进入。
选择hibernate3.3的支持。选中红框需要的包,并且把这些包放到lib目录下面。
统一由Spring configuration file管理Hibernate
这里选择继承的Spring配置文件。
选择刚才新建好的数据库连接。
把勾去掉,点击”next“,然后再点击完成。到了这一步,SSH框架的搭建基本上就完成了。
ssh缓存配置怎么操作
一、了解
Hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但session关闭时,一级缓存失效。
二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等。
二、配置
1、在applicationContext.xml中定义如下:
bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
property name="dataSource"
ref bean="dataSource" /
/property
property name="hibernateProperties"
props
prop key="hibernate.dialect"org.hibernate.dialect.MySQLDialect/prop
prop key="hibernate.cache.provider_class"org.hibernate.cache.EhCacheProvider/prop
prop key="hibernate.cache.use_query_cache"true/prop
prop key="hibernate.cache.use_second_level_cache"true/prop
prop key="hibernate.cache.configurationResourceName"ehcache.xml/prop
/props
/property
property name="mappingResources"
list
valuecom/crm/model/User.hbm.xml/value
/list
/property
/bean
2、在src目录下创建ehcache.xml,配置信息如下:
?xml version="1.0" encoding="UTF-8"?
ehcache
diskStore path="java.io.tmpdir"/
defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="180"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/
!-- 查询缓存 --
cache name="org.hibernate.cache.StandardQueryCache"
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="4200"
overflowToDisk="true"
/cache
!-- 二级缓存 --
cache name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="5000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
/
!-- 给Model设置缓存 --
cache name="com.crm.model.User"
maxElementsInMemory="1000"
eternal="false"
timeToIdleSeconds="100"
timeToLiveSeconds="4200"
overflowToDisk="true"
/
/ehcache
maxElementsInMemory属性用于指定缓存中最多可放多少个对象。
eternal属性指定缓存是否永久有效。
timeToIdleSeconds属性指定缓存多久未被使用便清理掉。
timeToLiveSeconds属性指定缓存的生命长度。
diskPersistent属性指定缓存是否被持久化到硬盘中,保存路径由标签指定。
3、在User.hbm.xml里加上cache usage="read-write" /,如下图所示
注意:
启动Tomcat,如发现如下错误
Could not find configuration [org.hibernate.cache.UpdateTimestampsCache]; using defaults.
Could not find configuration [org.hibernate.cache.StandardQueryCache]; using defaults.
则是第二步没有做,加上即可.配置完毕
4、执行查询缓存时,若使用Criteria需设置如下(示例):
public List getUserInfoByCondition(Page page) {
List users = null;
Criteria criteria = this.getSession().createCriteria(User.class);
criteria.setFirstResult(page.getBeginIndex());
criteria.setMaxResults(page.getEveryPage());
criteria.setCacheable(true);
users = criteria.list();
return users;
}
至此配置过程完毕。
JAVA怎么通过SSH隧道连接数据库查询
在界面中点击【新建】按钮,在Mysql下填写Mysql数据库的ip地址、用户名、密码、端口(默认在3306)就好,数据库名称。这里跟普通的连接数据库的方法一致。
这个时候读者可以点击一下【测试连接】,这个时候点击测试连接去连接数据库是不会成功的,因为数据库配置了SSH访问。如下图:
配置完成Mysql信息后,在旁边选择【SSH】
点击SSH后会弹出一个提示框,点击提示框的【确定】按钮。
点击后勾选“使用SSH隧道”
勾选后下方的配置信息由勾选前的灰色变更为白色可输入状态,在这里配置访问的SSH主机地址、用户名、密码或者公共密匙。
配置完成后来测试配置连接是否正确,点击【测试连接】由于已经配置了正确的SSH访问,这次测试连接成功了。
最后就可以点击界面下方的【连接】按钮,连接上数据库,进行操作了。
java中SSH框架的实体类设置get,set方法问题
可能是你的框架中使用的是spring的set注入方式。(get方法其实没什么用的。),不知道你是不是用spring来管理的action,然后用set的方式为其注入service或者dao。 这只是我的猜测。具体的原因需要了解你的框架的搭建和代码才知道。希望可以帮助你。
怎么用java实现ssh协议通信
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
import com.io.Debug;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
/**
*
* @author leon.lee
*/
public class ChangeEmailPassword {
private String username = "";
private String oldpassword = "";
private Connection conn = ;
private boolean hasError = false;
private String ErrorMessage = "";
private boolean isSuccessfully = false;
private String SystemMessage = "";
public static final String HOST = "127.0.0.1"; //server ip
public boolean isSuccessfully(){
return isSuccessfully;
}
public boolean isHasError(){
return hasError;
}
public String getErrorMessage(){
return ErrorMessage;
}
public void setErrorMessage(String msg){
hasError = true;
this.ErrorMessage = msg;
}
/**
* Creates a new instance of codeChangeEmailPassword/code.
* @param username
* @param oldpassword
*/
public ChangeEmailPassword(String username,String oldpassword) {
this.username = username;
this.oldpassword = oldpassword;
try{
conn = new Connection(HOST);
conn.connect();
/* Authenticate */
boolean isAuthenticated = conn.authenticateWithPassword(username, oldpassword);
if (isAuthenticated == false) {
setErrorMessage("Authentication failed.");
conn=;
}
}catch(Exception e){
conn.close();
conn = ;
System.out.println(e);
}
}
public void setNewPassword(String newpassword) {
if(hasError){
return;
}
if (conn==){
return;
}
try{
Session sess = conn.openSession();
sess.execCommand("passwd");
InputStream so = sess.getStdout();
InputStream err = sess.getStderr();
OutputStream out = sess.getStdin();
byte[] buffer = new byte[500];//其实没有必要这么大.130就差不多了.怕万一有什么提示.
int length = 0;
length = err.read(buffer);
// if (length 0) {
// System.out.println("#1:"+ new String(buffer, 0, length));
// //(current) UNIX password:
// }
String coldpassword = oldpassword+"\n";
out.write(coldpassword.getBytes());
length = err.read(buffer);
// if (length 0) {
// System.out.println("#2:"+ new String(buffer, 0, length));
// //(current) UNIX password:
// }
String cnewpass = newpassword +"\n";
out.write(cnewpass.getBytes());
length = err.read(buffer);
if (length 0) {
String rs = new String(buffer, 0, length);
//System.out.println("#3:"+rs);
if(rs.indexOf("BAD")-1){
sess.close();
conn.close();
setErrorMessage(rs);
return;
}
}
out.write(cnewpass.getBytes());
length = so.read(buffer);
if (length 0) {
String rs = new String(buffer, 0, length);
if(rs.indexOf("successfully")-1){
this.isSuccessfully = true;
this.SystemMessage = rs;
}
}
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
} catch (IOException e) {
e.printStackTrace(System.err);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ChangeEmailPassword cep = new ChangeEmailPassword("username", "oldpassword");
if(cep.isHasError()){
System.out.println(cep.getErrorMessage());
cep = ;
return;
}
cep.setNewPassword("newpassword");
if(cep.isHasError()){
System.out.println(cep.getErrorMessage());
cep = ;
return;
}
if(cep.isSuccessfully){
System.out.println(cep.getSystemMessage());
}
}
/**
* @return the SystemMessage
*/
public String getSystemMessage() {
return SystemMessage;
}
}
javassh配置的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ssh框架配置、javassh配置的信息别忘了在本站进行查找喔。
发布于:2022-12-15,除非注明,否则均为
原创文章,转载请注明出处。