分类: 服务器

服务器

ftp上传错误,提示:打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹。

使用FTP上传数据的时候,经常会遇到“打开FTP”无权限的提示,这是由于浏览器设置了防火墙的缘故,下面是正确的设置流程:
1. 首先打开一个IE浏览器(如果打开了多个浏览器,请关闭)。
2.点击打开“工具”—“internet选项”—“高级”
3.找到使用被动FTP(为防火墙和DSL调制解调器兼容性),并把前面的勾去掉。
4. 然后点击确定并且关闭IE浏览器。
5. 打开“我的电脑”,在地址栏里输入ip 回车,会弹出对话框,要求输入用户名和密码,输入用户名和密码后,就可以把您的压缩文件复制到ftp里了。下面是使用ftp软件flashFxp来上传得使用方法。
1. 首先打开软件 打开“选项”—“参数设置”—“代理”,把“使用被动模式”的勾去掉,确定。
2.点击右侧闪电图标,出现 在服务器栏输入ip 然后输入用户名和密码,然后点击连接就可以了。软件左侧为您的本机,右侧为服务器,把您要上传得数据帐套拖动到右侧就可以了

拷贝文件到服务器 提示FTP文件夹错误

FTP文件夹错误
将文件复制到FTP服务器时发生错误。请检查是否有权限将文件放到该服务器上。
详细信息:
200 Type set to I.
227Entering Passive Mode (122,114,49,4,4,87).
125 Data connection already open;Transfer starting.
426 Connection closed;transfer aborted.

之前更新网站的时候遇到过这个问题,而且问题比较奇怪,一个网站可以更新,另一个网站提示这个不行。
因为我还有个专门打发票的电脑,用那台xp的电脑有时候可以复制更新上,所以我就传送文件到那台电脑上,然后拷贝进去。
后来有时候遇到两台电脑都有问题,在网上搜了下解决方法,貌似又一次以下这个方法解决了:
1.打开“Internet选项”,选择“高级”选项卡,在设置中把“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”前面的勾去掉,并点击“确定”退出“Internet属性”。

但是*近我发现,以前用的这两个方法,换电脑和设置浏览器属性,可能都只是巧合,因为*近我又遇到了这个问题,更新网站时又提示这个,然后我想到以前写过博文,貌似设置什么属性解决了,但是没有找到这个博文,所以又上网搜了搜,没有找到什么有用的方法。
还是一个网站可以更新,另一个网站FTP复制不上,我又进一步对比测试了下,现象如下:
1.一个网站可以登入FTP更新,一个网站不行。
2.两台电脑都是一个网站可以,另一个网站不行。
3.有问题的网站,从网站上拷贝东西下来,上传不行。
4.我在有问题的网站上,上传一个简单的txt文本,发现文本居然可以拷贝上去,而且不提示这个。

所以我想可能和文件的大小有关,因为我拷贝的是安装文件的压缩包,难道和服务器的储存量有关,所以我删了一些历史下载文件包,然后拷贝,竟然可以上传了。

所以该提示现象的原因应该是这个,因为我试了很多次,但是一删除腾出空间来,就有效果了。
1.有的网站可以更新,有的网站不行;不同电脑也是,有问题的网站不行。
2.拷贝下来可以,上传不行。
3.上传小东西可以,上传大东西不行。
如果有以上三个现象,很可能就是这个原因,找到原因以后就好处理了。
删除部分网站上的文件(不需要的历史文件),再拷贝进去新的文件就不会报错了。

打开ftp服务器上的文件夹时发生错误解决方法

使用FTP上传数据的时候,经常会遇到“打开FTP”无权限的提示,这是由于浏览器设置了防火墙的缘故,下面是正确的设置流程:

1. 首先打开一个IE浏览器(如果打开了多个浏览器,请关闭)。

2.点击打开“工具”—“internet选项”—“高级”

3.找到使用被动FTP(为防火墙和DSL调制解调器兼容性),并把前面的勾去掉。

4. 然后点击确定并且关闭IE浏览器。

5. 打开“我的电脑”,在地址栏里输入ip 回车,会弹出对话框,要求输入用户名和密码,输入用户名和密码后,就可以把您的压缩文件复制到ftp里了。

下面是使用ftp软件flashFxp来上传得使用方法。

1. 首先打开软件 打开“选项”—“参数设置”—“代理”,把“使用被动模式”的勾去掉,确定。

2.点击右侧闪电图标,出现 在服务器栏输入ip 然后输入用户名和密码,然后点击连接就可以了。软件左侧为您的本机,右侧为服务器,把您要上传得数据帐套拖动到右侧就可以了。

java服务器端解决跨域问题【工具包系列】

现在很多开发的API都支持ajax直接请求,这样就会导致跨域的问题,解决跨域的问题一方面可以从前端,另一方面就是服务器端。
既然是搞服务器端,做对外的API服务,当然是做到越简单越好,前端只需要傻傻的使用就好。

目前我接触来的情况是有2种实现方式,下面直接代码,你们根据自己项目情况,选择或者修改其中的代码,所有代码都是项目实战中运行的。
*种情况,比较简单,让所有的controller类继承自定义的BaseController类,改类中将对返回的头部做些特殊处理。

public abstract class BaseController {
/**
* description:send the ajax response back to the client side
* @param responseObj
* @param response
*/
protected void writeAjaxJSONResponse(Object responseObj, HttpServletResponse response) {
response.setCharacterEncoding(“UTF-8”);

response.setHeader(“Cache-Control”, “no-cache, no-store, must-revalidate”); // HTTP 1.1
response.setHeader(“Pragma”, “no-cache”); // HTTP 1.0

/**
* for ajax-cross-domain request TODO get the ip address from
* configration(ajax-cross-domain.properties)
*/
response.setHeader(“Access-Control-Allow-Origin”, “*”);

response.setDateHeader(“Expires”, 0); // Proxies.

PrintWriter writer = getWriter(response);

writeAjaxJSONResponse(responseObj, writer);
}
/**
*
* @param response
* @return
*/
protected PrintWriter getWriter(HttpServletResponse response) {
if(null == response){
return null;
}

PrintWriter writer = null;

try {
writer = response.getWriter();
} catch (IOException e) {
logger.error(“unknow exception”, e);
}

return writer;
}

/**
* description:send the ajax response back to the client side.
*
* @param responseObj
* @param writer
* @param writer
*/
protected void writeAjaxJSONResponse(Object responseObj, PrintWriter writer) {
if (writer == null || responseObj == null) {
return;
}
try { writer.write(JSON.toJSONString(responseObj,SerializerFeature.DisableCircularReferenceDetect));
} finally {
writer.flush();
writer.close();
}
}
}

接下来就是我们自己业务的controller了,其中主要是要调用 writeAjaxJSONResponse(result, response);这个方法

@Controller
@RequestMapping(value = “/account”)
public class AccountController extends BaseController {
@RequestMapping(value = “/add”, method = RequestMethod.POST)
public void addAccount(HttpSession session,HttpServletRequest request,HttpServletResponse response){
ViewerResult result = new ViewerResult();
//实现自己业务逻辑代码
writeAjaxJSONResponse(result, response);
}

}

好了,这种简单的方式就实现了。

接下来介绍第二种方式,filter。我们在写springMVC的时候,更喜欢的方式是通过@ResponseBody给返回对象进行封装直接返回给前端,这样简单而且容易。
如果使用@ResponseBody就不能使用*种方法了,所有就使用filter给所有的请求都封装一下跨域,接下来直接实现代码:

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

public class HeadersCORSFilter implements Filter {

@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest request, ServletResponse servletResponse,
FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) servletResponse;
response.setHeader(“Access-Control-Allow-Origin”, “*”);
response.setHeader(“Access-Control-Allow-Methods”, “POST, GET, OPTIONS, DELETE”);
response.setHeader(“Access-Control-Max-Age”, “3600”);
response.setHeader(“Access-Control-Allow-Headers”, “x-requested-with,Authorization”);
response.setHeader(“Access-Control-Allow-Credentials”,”true”);
chain.doFilter(request, servletResponse);

}

@Override
public void destroy() {
// TODO Auto-generated method stub

}

}

好了,filter实现了,然后就是要在web.xml里面把这个filter运用起来了。
打开项目的web.xml,填写下面的几行代码:

<filter>
<filter-name>cors</filter-name>
<filter-class>xxx.xxxx.xxxxx.xxxx.HeadersCORSFilter</filter-class><!–你过滤器的包 –>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/open/*</url-pattern><!– 你开放的接口前缀 –>
</filter-mapping>

好了,通过上面的2种方式,可以解决百分之80的跨域问题,也许还有更好的解决方案,可以提出来大家一起学习学习。
*好的方案是*符合当前需求且易于扩展的。

服务器端解决跨域问题的三种方法

跨域是指html文件所在的服务器与ajax请求的服务器是不同的ip+port,例如:
– ‘192.168.1.1:8080’ 与 ‘192.168.1.2:8080’是不同的域。
– ‘192.168.1.1:8080’ 与 ‘192.168.1.1:8081’是不同的域。

解决此类问题的方法很多,有需要客户端和服务端都要更改的,例如jsonp,iframe等等;有只需要客户端更改的,这种情况只能出现在hybrid app开发中,即通过调用native方法来进行网络请求;有只需要服务端配置的,下面介绍3种服务端配置的方法。

*种

如果您使用的mvc框架是spring4.2以上的话,一个@CrossOrigin就可以搞定。将@CrossOrigin加到Controller上,那么这个Controller所有的请求都是支持跨域的,代码如下:

  1. @Controller
  2. @CrossOrigin
  3. public class GreetingController {
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

将@CrossOrigin加到请求方法上,那么这个请求是支持跨域的,代码如下

  1. @CrossOrigin
  2. @RequestMapping(“/greeting”)
  3. public @ResponseBody Greeting greeting(@RequestParam(required=false, defaultValue=“World”) String name) {
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

更详细的@CrossOrigin介绍,请参看这里

第二种

全局配置,也需要spring4.2以上。

  1. @Bean
  2. public WebMvcConfigurer corsConfigurer() {
  3. return new WebMvcConfigurerAdapter() {
  4. @Override
  5. public void addCorsMappings(CorsRegistry registry) {
  6. registry.addMapping(“/greeting-javaconfig”).allowedOrigins(“http://localhost:9000”);
  7. }
  8. };
  9. }

.addCorsMappings()中的参数代表支持跨域的url,.allowedOrigins()中的参数代表可以访问该接口的域名,设置为”*”可支持所有域。

第三种

这种方法就跟框架无关了,需要两个jar包,点击这里进行下载,两个jar包可以放的程序里,也可以放到tomcat中,然后将下面的配置写到web.xml中就可以了

  1. < filter >
  2. < filter-name > CORS </ filter-name >
  3. < filter-class > com.thetransactioncompany.cors.CORSFilter </ filter-class >
  4. < init-param >
  5. < param-name > cors.allowOrigin </ param-name > <!–配置授信的白名单的域名!–>
  6. < param-value > * </ param-value >
  7. </ init-param >
  8. < init-param >
  9. < param-name > cors.supportedMethods </ param-name >
  10. < param-value > GET, POST, HEAD, PUT, DELETE </ param-value >
  11. </ init-param >
  12. < init-param >
  13. < param-name > cors.supportedHeaders </ param-name >
  14. < param-value > Accept, Origin, X-Requested-With, Content-Type, Last-Modified </ param-value >
  15. </ init-param >
  16. < init-param >
  17. < param-name > cors.exposedHeaders </ param-name >
  18. < param-value > Set-Cookie </ param-value >
  19. </ init-param >
  20. < init-param >
  21. < param-name > cors.supportsCredentials </ param-name >
  22. < param-value > true </ param-value >
  23. </ init-param >
  24. </ filter >
  25. < filter-mapping >
  26. < filter-name > CORS </ filter-name >
  27. < url-pattern > /* </ url-pattern >
  28. </ filter-mapping >

Nodejs搭建web服务器

使用Nodejs + http 创建web服务器
1、首先创建一个server.js文件,创建服务器,以及对应css和js文件的引入和判断
var http=require(‘http’);
var fs = require(‘fs’);
var url = require(‘url’);

//创建服务器
http.createServer(function(request,response) {
//解析请求,包括文件名
var pathname= url.parse(request.url).pathname;
//输出请求的文件名
console.log(“Request for “+ pathname + ” received.”);
//获取后缀,判断是js还是css文件,如果目录结构不同,此处需要修改
var firstDir = pathname && pathname.split(‘/’)[1];
var ContentType = {‘Content-Type’: ‘text/html’};

// js – application/x-javascript
if (firstDir && firstDir === ‘static’) {
ContentType = {‘Content-Type’: ‘text/css’};
}
if (firstDir && firstDir === ‘js’) {
ContentType = {‘Content-Type’: ‘application/x-javascript’}
}

//从文件系统中去请求的文件内容
fs.readFile(pathname.substr(1),function(err, data) {
if(err) {
console.log(err);
//HTTP 状态码 404 : NOT FOUND
//Content Type:text/plain
response.writeHead(404, {‘Content-Type’: ‘text/html’});
}
else {
//HTTP 状态码 200 : OK
//Content Type:text/plain
response.writeHead(200, ContentType);

//写会回相应内容
response.write(data.toString());
}
//发送响应数据
response.end();
});
}).listen(8080);

console.log(‘Server running at http://127.0.0.1:8080/’);

2、 创建一个简单的html页面 ,此处是两个边框,然后是一个表格,并在第二个边框添加上一个点击事件,
作为引入另一个js文件

<!–

3、css样式文件和上面写的style标签内容一样
body {
border: 1px solid blue;
}

div {
border-radius: 10px;
width: 400px;
height: 200px;
border: 2px solid yellow;
}

4、这个是js文件
console.log(’-成功引入js文件-’);
function onClickDiv () {
alert(‘second点击事件’);
}

整体上就这么多了!详细的都有注释,大家可以自己看看,相对上也比较简单,具体步骤我也简单说下:

1、下载安装nodejs,官网就可以了,此处使用的是http,也有的例子使用的是express(需要在nodejs中下载,
详细的自己可以百度下看看)
2、进入到此项目中js文件那层目录,执行node server.js(此处取名为server,具体看自己的名称)
3、执行成功会打印服务器启动,并显示ip和端口号
4、打开浏览器http://127.0.0.1:8080/index.html即可查看效果

*后上图:
%title插图%num %title插图%num

web项目打包部署到服务器上的步骤

一、将项目打包成war包。(这里以eclipse如何打包为例)

项目(右键)——>Export——>War file(Web)——>选择war包保存路径——>Finished。

二、发布到Tomcat上。

2.1  解压tomcat

2.2  将打包好的war包拷贝到tomcat文件夹下的webapps里。

2.3  在tomcat的config文件中修改server.xml信息。(在<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” pattern=”%h %l %u %t &quot;%r&quot; %s %b” prefix=”localhost_access_log.” suffix=”.txt”/>后面添加<Context docBase=”你的项目名” path=”/项目名” reloadable=”true”  “/>)

注意:如果没有配置好JAVA_HOME与JRE_HOME信息的,还要在bin文件中修改setclasspath.bat信息。(在rem Make sure prerequisite environment variables are set 这句上面添加set JAVA_HOME= ‘java安装路径’  set JRE_HOME=’JRE安装路径’)。

三、运行项目。

在tomcat的bin文件中找到startup.bat,双击运行,即可启动项目。

手动修改tomcat版本号

1.找到tomcat所在位置进入lib目录            apache-tomcat-8.0.0\lib

2.lib目录县有个catalina.jar                        用解压缩软件打开(可以先解压再修改版本号再打成jar包这样太麻烦所以直接用解压缩软件打开就行)

3.打开后 ,在catalina.jar\org\apache\catalina\util目录下找到ServerInfo.properties

4.用编辑软件(记事本就可以)打开ServerInfo.properties再进行修改就行了

5.修改版本号

原有的                                                                      修改后的

server.info=Apache Tomcat/8.5.0                        server.info=Apache Tomcat/8.0.0
server.number=8.5.0                                             server.number=8.0.0
server.built=Jun 21 2017 17:01:09 UTC            server.built=Jun 21 2017 17:01:09 UTC

根据自己的需要将其改为自己想要的版本就行了

服务器上的tomcat怎么判断版本

先找到tomcat的安装路径,在lib目录下有catalina.jar, 执行以下命令就可以显示出了.

java -cp catalina.jar org.apache.catalina.util.ServerInfo

Server version: Apache Tomcat/7.0.52
Server built:   May 15 2015 01:37:14
Server number:  7.0.52.0
OS Name:        Linux
OS Version:     2.6.18-164.el5
Architecture:   amd64
JVM Version:    1.7.0_71-b14
JVM Vendor:     Oracle Corporation

上边不仅列出了Tomcat的版本, 还将tomcat依赖的JVM版本,OS版本也列出来了。

原文:http://blog.csdn.net/hongchangfirst/article/details/49472579

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

在linux服务器中查看tomcat和jdk的版本

1.先连接linus服务器

2.ps -ef | grep 'tomcat' 查看tomcat所在位置
%title插图%num

3.进入需要查看的tomcat路径的bin目录 sh version.sh 即可查看 %title插图%num

4.Server version tomcat版本 :Apache Tomcat/7.0.53 JVM Version jdk版本:1.7.0_79
友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速