「javassh配置」ssh框架配置

博主:adminadmin 2022-12-15 10:30:06 92

本篇文章给大家谈谈javassh配置,以及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配置的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-15,除非注明,否则均为首码项目网原创文章,转载请注明出处。