包含javassh2客户端的词条

关于包含javassh2客户端的词条话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些包含javassh2客户端的词条内容,让我们一起了解一些技术吧!

  本篇文章给大家谈谈javassh2客户端,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

  本文目录一览:

  1、java 服务器与客户端的文件传输

2、如何用java相关的技术实现一个服务器到手机客户端的一个消息推送?

3、java ssh登陆交换机执行命令

4、ssh2问题。求高手!Unable to instantiate Action, UserAction, defined for ‘doRegister’ in namespace ‘/’

5、JAVA SSH框架搭建流程

6、Java中SSH框架 + JSP 的使用属于前台开发?后台开发?服务端开发?JavaWeb开发?

  java 服务器与客户端的文件传输

  可以直接通过流的形式上传或者下载。

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.FileOutputStream;

  import java.util.Properties;

  import com.jcraft.jsch.Channel;

  import com.jcraft.jsch.ChannelSftp;

  import com.jcraft.jsch.JSch;

  import com.jcraft.jsch.Session;

  import com.jcraft.jsch.SftpException;

  import hkrt.b2b.view.util.Log;

  import java.util.Vector;

  import zn.ccfccb.util.CCFCCBUtil;

  /**

  */

  public class CCFCCBSftp {

  /**

  * 连接sftp服务器

  *

  * @return

  */

  public static ChannelSftp connect() {

  ChannelSftp sftp = null;

  try {

  JSch jsch = new JSch();

  jsch.getSession(CCFCCBUtil.CCFCCBHOSTNAME, CCFCCBUtil.CCFCCBHOSTNAME, 22);

  Session sshSession = jsch.getSession(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBHOSTNAME, 22);

  System.out.println(“Session created.”);

  sshSession.setPassword(CCFCCBUtil.CCFCCBLOGINPASSWORD);

  Properties sshConfig = new Properties();

  sshConfig.put(“StrictHostKeyChecking”, “no”);

  sshSession.setConfig(sshConfig);

  sshSession.connect();

  System.out.println(“Session connected.”);

  System.out.println(“Opening Channel.”);

  Channel channel = sshSession.openChannel(“sftp”);

  channel.connect();

  sftp = (ChannelSftp) channel;

  System.out.println(“Connected to ” + CCFCCBUtil.CCFCCBHOSTNAME + “.”);

  } catch (Exception e) {

  }

  return sftp;

  }

  /**

  * 连接sftp服务器

  *

  * @param host 主机

  * @param port 端口

  * @param username 用户名

  * @param password 密码

  * @return

  */

  public static ChannelSftp connect(String host, int port, String username,

  String password) {

  ChannelSftp sftp = null;

  try {

  JSch jsch = new JSch();

  jsch.getSession(CCFCCBUtil.CCFCCBHOSTNAME, CCFCCBUtil.CCFCCBHOSTNAME, 22);

  Session sshSession = jsch.getSession(CCFCCBUtil.CCFCCBLOGINNAME, host, port);

  System.out.println(“Session created.”);

  sshSession.setPassword(CCFCCBUtil.CCFCCBLOGINPASSWORD);

  Properties sshConfig = new Properties();

  sshConfig.put(“StrictHostKeyChecking”, “no”);

  sshSession.setConfig(sshConfig);

  sshSession.connect();

  System.out.println(“Session connected.”);

  System.out.println(“Opening Channel.”);

  Channel channel = sshSession.openChannel(“sftp”);

  channel.connect();

  sftp = (ChannelSftp) channel;

  System.out.println(“Connected to ” + host + “.”);

  } catch (Exception e) {

  }

  return sftp;

  }

  /**

  * 上传文件

  *

  * @param directory 上传的目录

  * @param uploadFile 要上传的文件

  * @param sftp

  */

  public void upload(String directory, String uploadFile, ChannelSftp sftp) {

  try {

  s;

  File file = new File(uploadFile);

  s(new FileInputStream(file), file.getName());

  } catch (Exception e) {

  e.printStackTrace();

  }

  }

  /**

  * 下载文件

  *

  * @param directory 下载目录

  * @param downloadFile 下载的文件

  * @param saveFile 存在本地的路径

  * @param sftp

  * @return

  */

  public static String download(String directory, String downloadFile, String saveFile, ChannelSftp sftp) {

  try {

  s;

  File file = new File(saveFile);

  FileOutputStream fos = new FileOutputStream(file);

  s(downloadFile, fos);

  s;

  fos.close();

  } catch (Exception e) {

  Log.info(“下载文件过程出错:” + e.getMessage());

  return “false”;

  }

  return “true”;

  }

  /**

  * 删除文件

  *

  * @param directory 要删除文件所在目录

  * @param deleteFile 要删除的文件

  * @param sftp

  */

  public void delete(String directory, String deleteFile, ChannelSftp sftp) {

  try {

  s;

  s;

  } catch (Exception e) {

  }

  }

  /**

  * 列出目录下的文件

  *

  * @param directory 要列出的目录

  * @param sftp

  * @return

  * @throws SftpException

  */

  public Vector listFiles(String directory, ChannelSftp sftp) throws SftpException {

  return s;

  }

  public static void main(String[] args) {

  CCFCCBSftp sf = new CCFCCBSftp();

  String host = CCFCCBUtil.CCFCCBHOSTNAME;

  int port = 22;

  String username = CCFCCBUtil.CCFCCBLOGINNAME;

  String password = CCFCCBUtil.CCFCCBLOGINPASSWORD;

  String directory = “/ccfccb/904999900099/download/”;

  //String uploadFile = “D:\tmp\upload.txt”;

  String downloadFile = “CCF_904999900099_20150317_0001.zip”;

  String saveFile = CCFCCBUtil.CCFCCBUploadFilePath + “https://” + “CCF_904999900099_20150317_0001.zip”;

  //String deleteFile = “delete.txt”;

  ChannelSftp sftp = CCFCCBS(host, port, username, password);

  //sf.upload(directory, uploadFile, sftp);

  CCFCCBS(directory, downloadFile, saveFile, sftp);

  //sf.delete(directory, deleteFile, sftp);

  try {

  s;

  // s(“ss”);

  System.out.println(“finished”);

  } catch (Exception e) {

  }

  }

  }

  如何用java相关的技术实现一个服务器到手机客户端的一个消息推送?

  可以使用第三方消息推送软件。目前市面上的推送软件很多,但是是选择的时候一定要选择正规的,也可以在使用前都去了解一下消息推送软件相关的信息。

  推送软件的技术是通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜索、过滤信息,并将其定期推给用户,帮助用户高效率地发掘有价值的信息。

  对于第三方消息推送软件的选择,推荐你使用深圳极光家的消息推送软件。中国领先的移动开发者服务提供商极光,极光将为兴盛优选APP提供多样化服务,助力其优化用户体验,提升用户转化,激活流量价值。

  极光的一键登录功能将助力兴盛优选APP的用户实现高效、安全稳定的登录过程,优化用户体验,有效提升APP的用户转化和留存率。

  java ssh登陆交换机执行命令

  第一步下载java扩展包

  第二步:解压文件把 jar包,拷贝到java的库目录下,我的是ubuntu14(/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext )

  cp ganymed-ssh2-build210.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext

  第三步: 把默认账户修改成直接的账户密码

  yang@yang:~/Downloads/java/ganymed-ssh2-build210/examples$ cat Basic.java

  import java.io.BufferedReader;

  import java.io.IOException;

  import java.io.InputStream;

  import java.io.InputStreamReader;

  import ch.ethz.ssh2.Connection;

  import ch.ethz.ssh2.Session;

  import ch.ethz.ssh2.StreamGobbler;

  public class Basic

  {

  public static void main(String[] args)

  {

  String hostname = “127.0.0.1”;

  String username = “user”;

  String password = “password”;

  try

  {

  Connection conn = new Connection(hostname);

  conn.connect();

  boolean isAuthenticated = conn.authenticateWithPassword(username, password);

  if (isAuthenticated == false)

  throw new IOException(“Authentication failed.”);

  Session sess = conn.openSession();

  sess.execCommand(“uname -a date uptime who”);

  System.out.println(“Here is some information about the remote host:”);

  InputStream stdout = new StreamGobbler(sess.getStdout());

  BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

  while (true)

  {

  String line = br.readLine();

  if (line == null)

  break;

  System.out.println(line);

  }

  System.out.println(“ExitCode: ” + sess.getExitStatus());

  sess.close();

  conn.close();

  }

  catch (IOException e)

  {

  e.printStackTrace(System.err);

  System.exit(2);

  }

  }

  }

  第四步: 编译 javac Basic.java java Basic

  Here is some information about the remote host:

  Linux yang 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

  2014年 05月 03日 星期六 17:26:00 CST

  17:26:00 up 6:09, 4 users, load average: 0.15, 0.21, 0.23

  yang :0 2014-05-03 11:17 (:0)

  yang pts/2 2014-05-03 16:34 (:0)

  yang pts/26 2014-05-03 17:13 (:0)

  yang pts/27 2014-05-03 17:24 (:0)

  ExitCode: 0

  ssh2问题。求高手!Unable to instantiate Action, UserAction, defined for ‘doRegister’ in namespace ‘/’

  我现在也遇到了相同的问题,但是你的错误我看了下,至少有两个遗漏之处吧,虽然我现在还没解决自己的问题,但是先告诉你下你的错误,

  web.xml配置文件

  !– contextConfigLocation的作用是自动查找加载spring的applicationContext_*.xml文件 —

  context-param

  param-namecontextConfigLocation/param-name

  param-valueclasspath:applicationContext_*.xml/param-value

  /context-param

  没有看到自动加载spring的xml文件。

  spring配置文件中,只配置了数据源DataSource和sessionfactory ,没有看到你将action托管到spring哟,

  bean name=”loginAction” class=”net.dbet.action.LoginAction”

  scope=”prototype” /

  我这个是自己的例子,你上面的struts.xml如果没有写这个的话,怎么能直接写

  Action”action name=”doRegister” class=”UserAction” method=”doRegister”

  直接写类名的话,要托管给spring之后才可以的,

  其他的还有很多,我没看到你的实例化dao,service和user的spring配置啊。

  楼主多查查资料吧,找个例子自己参考下,需要的话给我留言,我现在虽然自己的问题没解决,但是我有现成培训的样本!

  JAVA SSH框架搭建流程

  首先,明确spring,struts,hibernate在环境中各自的作用。

  struts:

  用来响应用户的action,对应到相应的类进行处理。需要struts对应的包。

  hibernate:

  用来把实体类对应到数据库。提供增删改查的基本操作实现。需要hibernate对应的包以及mysql的jdbc驱动包。

  spring:

  管理struts:在xml配置文件中为struts的action进行值注入。

  管理hibernate:在xml配置文件中配置hibernate的配置信息(dataSource,sessionFactory),即不需要原来的hibernate的xml文件。为hibernate的dao操作注入sessionfactory属性值。

  需要提供spring对应的包,除此以外,还需要提供一个整合spring与struts的包:truts2-spring-plugin-2.0.11.1.jar

  下面就搭建步骤进行详细说明:

  1、新建一个web project,导入包,需要的包放在文件夹sshlib中。

  2、修改web.xml的配置信息,内容如下:

  ?xml version=”1.0″ encoding=”UTF-8″?

  web-app version=”2.5″ xmlns=” “

  xmlns:xsi=” “

  xsi:schemaLocation=”

  ”

  welcome-file-list

  welcome-fileindex.jsp/welcome-file

  /welcome-file-list

  !– 下面的listener,是spring提供的,它会在创建时自动查找WEB-INF下的applicationContext.xml文件 ,从而创建spring容器–

  listener

  listener-class

  org.springframework.web.context.ContextLoaderListener

  /listener-class

  /listener

  !– 下面的配置作用是:在MyEclipse中,系统会自动到WEB-INF下寻找 applicationContext.xml文件,而系统

  会自动将applicationContext.xml放置到WEB-INF下的classes下,所以会产生找不到applicationContext.xml的错误,需要指明applicationContext.xml

  的放置位置。这就是下面的信息作用。在Eclipse中也许不需要此配置信息。–

  context-param

  param-namecontextConfigLocation/param-name

  param-value

  /WEB-INF/classes/applicationContext.xml

  /param-value

  /context-param

  !– 下面的配置信息,用来配置说明使用struts过滤器 —

  filter

  filter-namestruts2/filter-name

  filter-class

  org.apache.struts2.dispatcher.FilterDispatcher

  /filter-class

  !–

  下面的配置信息用来说明:程序中运行的action放置在哪个包下面,对于list.action的请求,它会自动在这个包下面寻找ListAction.class的类

  如果没有这句话,那么所有的action请求只能在struts.xml中进行配置。

  –

  init-param

  param-nameactionPackages/param-name

  param-value

  com.action

  /param-value

  /init-param

  /filter

  !–

  下面的配置表示对于所有请求都交给struts来处理。

  –

  filter-mapping

  filter-namestruts2/filter-name

  url-pattern/*/url-pattern

  /filter-mapping

  /web-app

  3、接下来用来配置struts.xml

  ?xml version=”1.0″ encoding=”UTF-8″ ?

  !DOCTYPE struts PUBLIC

  ”-//Apache Software Foundation//DTD Struts Configuration 2.0//EN”

  ” “

  struts

  !– 指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312 当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法 —

  constant name=”struts.i18n.encoding” value=”utf-8″ /

  constant name=”struts.devMode” value=”true” /

  package name=”default” namespace=”/” extends=”struts-default”

  interceptors

  !– 定义拦截器 —

  interceptor name=”crudInterceptor”

  class=”com.action.CrudInterceptor” /

  interceptor-stack name=”appStack”

  interceptor-ref name=”crudInterceptor” /

  !– 下面一行自带的拦截器必须加上,否则出错 —

  interceptor-ref name=”defaultStack” /

  /interceptor-stack

  /interceptors

  !– 使用默认拦截器配置Action都需要拦截器堆栈

  即所有struts请求都自动先交给拦截器处理。关于拦截器的具体规则在拦截器对应类(com.action.CrudInterceptor)中进行了解释。

  –

  default-interceptor-ref name=”appStack”/default-interceptor-ref

  /package

  /struts

  4、接下来配置applicationContext.xml:

  ?xml version=”1.0″ encoding=”UTF-8″?

  beans xmlns=” “

  xmlns:aop=” “

  xmlns:xsi=” “

  xsi:schemaLocation=”

  ”

  !– 数据源 —

  bean id=”dataSource”

  class=”org.springframework.jdbc.datasource.DriverManagerDataSource”

  property name=”driverClassName”

  value=”org.gjt.mm.mysql.Driver” /

  property name=”url” value=”jdbc:mysql://www.easyaq.com:3306/user” /

  property name=”username” value=”root” /

  property name=”password” value=”” /

  /bean

  !– sessionFactory配置 —

  bean id=”sessionFactory”

  class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”

  property name=”dataSource” ref=”dataSource” /

  property name=”mappingResources”

  list

  valuecom/ssh/User.hbm.xml/value

  /list

  /property

  !– 定义sessionFactory的属性 —

  property name=”hibernateProperties”

  props

  prop key=”hibernate.dialect”

  org.hibernate.dialect.MySQL5InnoDBDialect

  /prop

  prop key=”hibernate.hbm2ddl.auto”update/prop

  prop key=”hibernate.show_sql”true/prop

  prop key=”hibernate.format_sql”true/prop

  /props

  /property

  /bean

  !– hibernate的类名,属性名和数据库之间的对应关系的自定义 com.ynstudio.tools.LocalNamingStrategy —

  bean id=”namingStrategy”

  class=”org.hibernate.cfg.ImprovedNamingStrategy”

  /bean

  !– 定义DAO的bean —

包含javassh2客户端的词条

  bean id=”userDao”

  class=”com.ssh.UserDaoImpl”

  property name=”sessionFactory” ref=”sessionFactory” /

  /bean

  !–

  下面的代码用来向Action类注入属性值

  –

  bean id=”crudAction” class=”com.action.CrudAction”

  property name=”userDao” ref=”userDao”/property

  /bean

  /beans

  5、上述配置文件完成后,就开始业务逻辑部分。

  首先完成hibernate的curd操作部分内容。

  设计一个User实体类。包含数据库中User表的字段。

  新建一个User.hbm.xml文件,实现实体类与数据库的关联。内容如下:

  ?xml version=”1.0″?

  !DOCTYPE hibernate-mapping PUBLIC

  ”-//Hibernate/Hibernate Mapping DTD//EN”

  ” “

  hibernate-mapping

  class name=”com.ssh.User” table=”user”

  id name=”id” column=”id”

  generator class=”increment” /

  /id

  property name=”username” column=”username” /

  property name=”password” column=”password” /

  property name=”birthday” column=”birthday” /

  property name=”email” column=”email” /

  /class

  /hibernate-mapping

  接下来需要实现dao操作。

  设计一个类继承了HibernateDaoSupport类。关于HibernateDaoSupport类,请参考相关文档。

  6、完成hibernate的设计后,接下来设计struts的拦截器和struts的action。

  struts的拦截器:

  package com.action;

  import java.lang.reflect.Method;

  import org.apache.struts2.ServletActionContext;

  import com.opensymphony.xwork2.ActionInvocation;

  import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

  /**

  * 这个类的是拦截器。

  * 对于如下URL:

  *

  * actionInvocation.invoke()方法会自动调用名称了HelloAction类的list方法。

  * 在action中根据该方法的返回值决定页面显示或跳转位置。

  * result值除了可以再action类中定义,还可以在struts.xml中配置。

  * 配置时可采用如下语句:

  * action name=”hello” class=”crudAction”

  * result name=”list”/list.jsp/result

  * result name=”modify”/modify.jsp/result

  * /action

  * 此处需要格外注意的是:class属性的值,此值是applicationContext.xml中的id。

  * 该bean中注入了action类中属性userDao的值。

  * 所以,如果需要使用struts.xml中的action配置,需要使用该id,否则,系统不会给其注入值,最终导致空指针异常。

  * @author HeXiaoXing

  *

  */

  public class CrudInterceptor extends AbstractInterceptor{

  public String intercept(ActionInvocation actionInvocation) throws Exception {

  /*

  *下面代码演示了获取请求的类名与方法名的一半方式,但本例中不涉及。 全部注释掉。

  */

  // Object action = actionInvocation.getAction();

  // Class actionClass = action.getClass();

  // String actionClassName = actionClass.getSimpleName();

  // String methodName = actionInvocation.getProxy().getMethod();

  return actionInvocation.invoke();

  }

  }

  struts的action,关于此action的全部内容,请参考源程序CrudAction。

  7、完成了类设计后,就是页面的设计,关于页面的设计,不再一一叙述,给粗源文件,请自行参考。

  需要提出的是,在转向时,url的格式必须是method:方法名。这是约定的,不可以写成method=方法名。

  Java中SSH框架 + JSP 的使用属于前台开发?后台开发?服务端开发?JavaWeb开发?

  一般小公司或者对前台界面要求不是很高的公司开发的B/S应用,不分前后台工程师。所以像这样的公司招聘的人要求前后台都懂。前台主要只得是展现层,由于使用WEB方式,那么就是和html、css、js打交道,当然如何生成html、css、js这个东西也是有学问的需要后台的支持。呵呵。

包含javassh2客户端的词条

  一般独立出Web前段开发工程师的公司对界面要求是比较高的。我写了10年B/S程序,可以负责的说真正把html、css、js搞精通的人不多,尤其是现在对WEB富客户端的界面要求比较高,所以有的公司会高新聘请人专门去设计UI。

  大型的网站或者偏于数据分析的应用程序,一般都会有独立的数据分析职位,做一些数据库优化,数据抽取、BI类工作,这个也是个方向。

  总之,程序设计这玩意现在的发展方向很多,没有人能说我精通所有的方面,想好以后要干什么确立自己的发展方向。

  javassh2客户端的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javassh2客户端的信息别忘了在本站进行查找喔。

包含javassh2客户端的词条

关于 包含javassh2客户端的词条 的问题,嗨壳技术分享网(www.heikehao.com)小编就分享到这里吧!如果大家有疑问欢迎留言询问。

原创文章,作者:java,如若转载,请注明出处:https://www.heikehao.com/22593.html

(0)
javajava
上一篇 2022年6月9日
下一篇 2022年6月9日

相关推荐

  • 最大公共子数组java(最长公共子串 后缀数组)

    今日,嗨壳技术分享网小编分享最大公共子数组java(最长公共子串 后缀数组) 相关内容,内容如下。   今天给各位分享最大公共子数组java的知识,其中也会对最长公共子串 后缀数组…

    2020年1月23日
  • 钩子java(钩子一反倾家荡产)

    钩子java(钩子一反倾家荡产)   本篇文章给大家谈谈钩子java,以及钩子一反倾家荡产对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。   本文目录一览:   1、jav…

    2020年1月20日
  • javajbutton圆角,java里button如何设置位置

    今日,嗨壳技术分享网小编分享javajbutton圆角,java里button如何设置位置 相关内容,内容如下。   android怎么实现圆角button.   1、Androi…

    2023年10月26日
  • 包含javaoninputonclick的词条

    关于包含javaoninputonclick的词条话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些包含javaoninputonclick的词条内容,让我们一起了解一些技术吧…

    2021年5月21日
  • 电影院用不用java软件,不用去电影院就能看到的电影软件

    关于电影院用不用java软件,不用去电影院就能看到的电影软件话题,今日,嗨壳技术分享网小编抽出大半天的时间整理一些电影院用不用java软件,不用去电影院就能看到的电影软件内容,让我…

    2020年2月2日
  • java数组接口,java接口存放数组对象的引用

    java数组接口,java接口存放数组对象的引用   java编程中基本数据类型是8个,那引用数据类型是接口,数组,String还有什么…   1、内置数据类型:Jav…

    2020年1月14日
  • 包含java3000字论文的词条

    包含java3000字论文的词条   今天给各位分享java3000字论文的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!   本文目录一览…

    2023年11月6日
  • 全排列java简单(快速排序实现java)

    全排列java简单(快速排序实现java)   今天给各位分享全排列java简单的知识,其中也会对快速排序实现java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在…

    2020年4月17日
  • 大学生java实训(java 实训)

    大学生java实训(java 实训) 大家并不陌生,借来给大家详细说说吧!   本篇文章给大家谈谈大学生java实训,以及java 实训对应的知识点,希望对各位有所帮助,不要忘了收…

    2020年9月7日
  • 关于java获取ip127.0.0.1的信息

    针对关于java获取ip127.0.0.1的信息的内容, 嗨壳技术分享网今天给大家作出详细的解答吧!   如何用java获取本地ip地址   调用java.net包下面的的Inet…

    2021年4月21日