当前位置:首页 » 编程语言 » sshforjava

sshforjava

发布时间: 2022-07-08 02:28:23

java SSH 求解,在线等待~如果有可运行项目(ssh,不要求业务),求参考 [email protected]

呃 我用的是S2SH

帮不了你了

② 求一个SSH框架的JAVAWEB项目

首先将下面代码COPY下来写成一个js;
<!-- 开始-->
//自动补全
//autoInput 自动补全输入组件ID
//自动补全UL列表ID
function AutoComplete(autoInputId, autoULId) {
var child = null;
//获取服务器数据value文本框输入值,list数据库返回集合,valueProperty使用list对象的那个属性作为vlaue值
this.autoComplete = function (value,list) {
//清空上次数据
DWRUtil.removeAllOptions(autoULId);
if (child != null && value == child.innerHTML) {
return;
}
if (value == "") {
return;
}
child = null;
if (list.length > 0) {
$(autoULId).style.display = "block";
for (i = 0; i < list.length; i++) {
var title = list[i];
var li = document.createElement("li");
li.ondblclick = function () {
child = li;
$(autoInputId).value = li.innerHTML;
$(autoULId).style.display = "none";
};
li.innerHTML =title;//li.innerHTML 表示数据库中的tname
//alert(li.innerHTML);
$(autoULId).appendChild(li);
}
} else {
$(autoULId).style.display = "none";
}
};

//当按下上下按钮的时候选中数据
window.document.onkeydown = function () {
var key = window.event.keyCode;
//向下
if (key == 40) {
if (child == null) {
var nextNode = $(autoULId).firstChild;
if (nextNode != null) {
child = nextNode;
child.style.backgroundColor = "powderblue";
}
} else {
var nextNode = child.nextSibling;
if (nextNode != null) {
child.style.backgroundColor = "";
child = child.nextSibling;
child.style.backgroundColor = "powderblue";
}
}
//向上
} else {
if (key == 38) {
if (child != null) {
var previousNode = child.previousSibling;
if (previousNode != null) {
child.style.backgroundColor = "";
child = child.previousSibling;
child.style.backgroundColor = "powderblue";
}
}
} else {
if (key == 13) {
if (child != null) {
$(autoInputId).value = child.innerHTML;
$(autoULId).style.display = "none";
}
}
}
}
};

//设置补全数据位置
window.onload = function () {
var oRect = $(autoInputId).getBoundingClientRect();
$(autoULId).style.left = oRect.left - 42;
$(autoULId).style.top = oRect.top + 20;
};
}
<!--结束--> 如果以上js保存不起就将js的编码改为gbk(JS右键属性就是了),
<!-- 关于上面这个Js你就不要问我为什么了。因为我也不知道 。我只知道我要用的时候我导进来就行了-->
现在就要看jsp页面了:
1.首先:导入上面写入的js,然后在web.xml去配置,然后再在IE中进去测试。找到其它的js.
2.写入以下样式
<style type="text/css">
.aul{list-style-type: none;width: 150px;position: absolute;display: none;}
.aul li{background-color: expression(sourceIndex%2==0?'lavender':'beige')}
</style>
3.函数以及回调函数如下:
<script type="text/javascript">
//创建自动补全对象
var auto= new AutoComplete('dictType','ul1'); //前面一个是input的id,后一个就是ui的id咯
function autoName(value){
DWRService.findTypeByName(value, // DWRService是在dwr.xml中的名称.. findTypeByName是Biz中的方法///方法根据输入的值进行like查询返回list
function(list){
auto.autoComplete(value,list);
});
}
</script> 4.最后一步: //下面这个input是你输入的框要补的那个.. (表示不清..不知道怎么说)
<input type="text" name="basDict.dictType" id="dictType"
onpropertychange="autoName(this.value)">
<ul class="aul" id="ul1" style="cursor:pointer;"> <!--一定是普通的标签..ui是呆会查询符合条件的值显示的位置> <!--上面这些代码是我从我前几天做的项目中下来的。
如果你按我这种方式去实现Ajax去实现的话有什么不明白的。可以问我。不过我这几天白天都在做项目,最好晚上留言给我。 呵。不好意思啊。。
再说明一下,整个我都是用dwr框架去实现的/.---->
biz方法如下:
public List findTypeByName(String tName) {
String hql = "select distinct d.dictType from BasDict as d where d.dictType like '%"+tName+"%'";
return super.getHibernateTemplate().find(hql);
} dwr.xml配置如下:
<dwr>
<allow>
<create creator="spring" javascript="DWRService">
<param name="beanName" value="BasDictBiz"/>
</create>
</allow>
</dwr> 要是做出来效果你不满意你可以改一下jsp上的页面上的代码。使下拉的更漂亮

③ java ssh项目更新问题,先查询数据,然后进行更新操作,为什么保存不成功下面有代码和控制台的一些信息

不知道你项目使用ssh框架没 应该是数据没持久化到数据库中哦就是事物没提交哦
如果使用了ssh框架那么看下spring配置文件是否配置了事物提交以及方法名是否命名错误了

④ java ssh开发,点击系统内一个按钮,功能是跳转到一个页面,出现如下错误,求解决:

给jvm分配的内存太少了。

对于绝大多数应用来说,Java堆是虚拟机管理最大的一块内存。Java堆是被所有线程共享的,在虚拟机启动时创建。Java堆的唯一目的就是存放对象实例,绝大部分的对象实例都在这里分配。这一点在VMSpec中的描述是:所有的实例以及数组都在堆上分配(原文:sisallocated),但是在逃逸分析和标量替换优化技术出现后,VMSpec的描述就显得并不那么准确了。
Java堆内还有更细致的划分:新生代、老年代,再细致一点的:eden、fromsurvivor、tosurvivor,甚至更细粒度的本地线程分配缓冲(TLAB)等,无论对Java堆如何划分,目的都是为了更好的回收内存,或者更快的分配内存,在本章中我们仅仅针对内存区域的作用进行讨论,Java堆中的上述各个区域的细节,可参见本文第二章《JVM内存管理:深入垃圾收集器与内存分配策略》。
根据VMSpec的要求,Java堆可以处于物理上不连续的内存空间,它逻辑上是连续的即可,就像我们的磁盘空间一样。实现时可以选择实现成固定大小的,也可以是可扩展的,不过当前所有商业的虚拟机都是按照可扩展来实现的(通过-Xmx和-Xms控制)。如果在堆中无法分配内存,并且堆也无法再扩展时,将会抛出OutOfMemoryError异常。

调高内存还不行,需要检查一下代码中是否有死循环存在,context的配置是否合理是否会造成死循环。

⑤ ssh出现的问题:java.lang.IllegalStateException

好长时间没写ssh了。你用tamcat几?如果是7的话,换一个6试试。

⑥ 如何导入ganymed ssh-2 for java.jar

先创建一个基于maven的项目,点击打开pom.xml文件

点击Dependencies标签页,然后点击Dependencies中的add按钮,输入想添加的jar包名字,就会出现下会把对应名称的所有版本jar包列出来

点击OK之后,在pom.xml会带回jar包的信息,type表示依赖包的类型,Scope表示这个依赖包的作用周期

保存后install maven,然后再点开项目中的Maven Dependencies就会发现多了相应的jar包了

⑦ ssh框架下,java代码 页面分页 ,怎么读取list序列的第n个元素

取第二页的数据时,将当前页,传给action,action再调用层,拿到指定范围的数据。
hql这样限制:setFirstResult(开始取数据的位置);setMaxResult(取数据的数量;
返回到jsp页面后是一个集合。比如写条数据记录在表格的每行上,就在表格的行上做循环,
<%
for(int i=0;i<resultList.size();i++) {
%>
表格行的代码。。。。
<%
}
%>

⑧ java连接ssh登陆路由器

packagecom.flyingzl.ssh;importjava.util.ArrayList
importjava.util.Hashtable
importjava.util.List
importorg.apache.log4j.Logger
importorg.apache.oro.text.regex.MalformedPatternException
importcom.jcraft.jsch.ChannelShell
importcom.jcraft.jsch.JSch
importcom.jcraft.jsch.Session
importcom.jcraft.jsch.UserInfo
importexpect4j.Closure
importexpect4j.Expect4j
importexpect4j.ExpectState
importexpect4j.matches.EofMatch
importexpect4j.matches.Match
importexpect4j.matches.RegExpMatch
importexpect4j.matches.TimeoutMatch
publicclassShell{privatestaticLoggerlog=Logger.getLogger(Shell.class)
privateSessionsession
privateChannelShellchannel
privatestaticExpect4jexpect=null
=1000
privateStringBufferbuffer=newStringBuffer()
publicstaticfinalintCOMMAND_EXECUTION_SUCCESS_OPCODE=-2
_R=" "
_N=" "
publicstaticfinalStringCOLON_CHAR=":"
publicstaticStringENTER_CHARACTER=BACKSLASH_R
publicstaticfinalintSSH_PORT=22
//正则匹配,用于处理服务器返回的结果publicstaticString[]linuxPromptRegEx=newString[]{"~]#","~#","#",":~#","/$",">"}
publicstaticString[]errorMsg=newString[]{"couldnotacquiretheconfiglock"}
//ssh服务器的ip地址privateStringip
//ssh服务器的登入端口privateintport
//ssh服务器的登入用户名privateStringuser
//ssh服务器的登入密码privateStringpassword
publicShell(Stringip,intport,Stringuser,Stringpassword){this.ip=ip
this.port=port
this.user=user
this.password=password
expect=getExpect()
}/***关闭SSH远程连接*/publicvoiddisconnect(){if(channel!=null){channel.disconnect()
}if(session!=null){session.disconnect()
}}/***获取服务器返回的信息*@return服务端的执行结果*/publicStringgetResponse(){returnbuffer.toString()
}//获得Expect4j对象,该对用可以往SSH发送命令请求privateExpect4jgetExpect(){try{log.debug(String.format("Startloggingto%s@%s:%s",user,ip,port))
JSchjsch=newJSch()
session=jsch.getSession(user,ip,port)
session.setPassword(password)
Hashtable<String,String>config=newHashtable<String,String>()
config.put("StrictHostKeyChecking","no")
session.setConfig(config)
localUserInfoui=newlocalUserInfo()
session.setUserInfo(ui)
session.connect()
channel=(ChannelShell)session.openChannel("shell")
Expect4jexpect=newExpect4j(channel.getInputStream(),channel.getOutputStream())
channel.connect()
log.debug(String.format("Loggingto%s@%s:%ssuccessfully!",user,ip,port))
returnexpect
}catch(Exceptionex){log.error("Connectto"+ip+":"+port+"failed,!")
ex.printStackTrace()
}returnnull
}/***执行配置命令*@paramcommands要执行的命令,为字符数组*@return执行是否成功*/publicbooleanexecuteCommands(String[]commands){//如果expect返回为0,说明登入没有成功if(expect==null){returnfalse
}log.debug("----------:----------")
for(Stringcommand:commands){log.debug(command)
}log.debug("----------End----------")
Closureclosure=newClosure(){publicvoidrun(ExpectStateexpectState)throwsException{buffer.append(expectState.getBuffer())
//bufferisstring//bufferforappending//outputofexecuted//commandexpectState.exp_continue()
}}
List<Match>lstPattern=newArrayList<Match>()
String[]regEx=linuxPromptRegEx
if(regEx!=null&&regEx.length>0){synchronized(regEx){for(StringregexElement:regEx){//listofregxlike,:>,/>//etc.itispossible//commandpromptsofyour//remotemachinetry{RegExpMatchmat=newRegExpMatch(regexElement,closure)
lstPattern.add(mat)
}catch(MalformedPatternExceptione){returnfalse
}catch(Exceptione){returnfalse
}}lstPattern.add(newEofMatch(newClosure(){//shouldcause//entirepagetobe//collectedpublicvoidrun(ExpectStatestate){}}))
lstPattern.add(newTimeoutMatch(defaultTimeOut,newClosure(){publicvoidrun(ExpectStatestate){}}))
}}try{booleanisSuccess=true
for(StringstrCmd:commands){isSuccess=isSuccess(lstPattern,strCmd)
}//防止最后一个命令执行不了isSuccess=!checkResult(expect.expect(lstPattern))
//找不到错误信息标示成功Stringresponse=buffer.toString().toLowerCase()
for(Stringmsg:errorMsg){if(response.indexOf(msg)>-1){returnfalse
}}returnisSuccess
}catch(Exceptionex){ex.printStackTrace()
returnfalse
}}//检查执行是否成功privatebooleanisSuccess(List<Match>objPattern,StringstrCommandPattern){try{booleanisFailed=checkResult(expect.expect(objPattern))
if(!isFailed){expect.send(strCommandPattern)
expect.send(" ")
returntrue
}returnfalse
}catch(MalformedPatternExceptionex){returnfalse
}catch(Exceptionex){returnfalse
}}//检查执行返回的状态privatebooleancheckResult(intintRetVal){if(intRetVal==COMMAND_EXECUTION_SUCCESS_OPCODE){returntrue
}returnfalse
}//登入SSH时的控制信息//设置不提示输入密码、不显示登入信息等{Stringpasswd
publicStringgetPassword(){returnpasswd
}publicbooleanpromptYesNo(Stringstr){returntrue
}publicStringgetPassphrase(){returnnull
}publicbooleanpromptPassphrase(Stringmessage){returntrue
}publicbooleanpromptPassword(Stringmessage){returntrue
}publicvoidshowMessage(Stringmessage){}}}

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:237
java驼峰 发布:2025-02-02 09:13:26 浏览:652
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726