Tag - jersey

jersey java    2017-07-19 22:59:19    870

 

关键代码:

application.java中

 

register(MultiPartFeature.class);


前端html中:

 

 

<form action="${path}/list/uploadExcel" method="post" enctype="multipart/form-data" accept-charset="utf-8">
	<p>
		<input type="file" name="file" /><br />
	</p>
	<input type="submit" value="上传" />
</form>


服务端(有略微的名称编码问题):

 

 

<span>	</span>@POST
	@Path("uploadExcel")
	@Consumes(MediaType.MULTIPART_FORM_DATA)
	public String uploadExcel(
			@FormDataParam("file") InputStream fileInputStream,
			@FormDataParam("file") FormDataContentDisposition disposition) {
		String imageName = Calendar.getInstance().getTimeInMillis()
				+ disposition.getFileName();
		//File file = new File("D:\\" + imageName);
		return "import data succeed";
	}



 

 

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

jersey java 拦截器 微服务 MicroService    2017-07-19 21:37:32    1160
1、web.xml配置
    <servlet>
        <servlet-name>Rest_Servlet</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>cn.firewarm.testRestShiro.rest</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
            <param-value>cn.firewarm.testRestShiro.filter.TestFilter</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

2、TestFilter代码
public class TestFilter implements ContainerRequestFilter {
    public ContainerRequest filter(ContainerRequest request) {
        if(判断条件){
            return request;
        }else{
            Response response = Response.ok("error").status(401).type(MediaType.APPLICATION_JSON).build();  
            throw new WebApplicationException(response); // Throw new UnAuthor
jetty jersey 微服务 MicroService    2017-07-19 21:36:34    847

材料:

    Docker
    java+jersey 的demo:https://git.coding.net/firewarm/jetty-jersey.git
    jenkins:详细信息参考文章:http://blog.csdn.net/gsying1474/article/details/51126522

创建一个maven风格的项目,源码管理选择git,填上如上demo的地址,然后添加“post-build step”


填写参数,这里主要我暂时不需要push到registry上,所以选择跳过



都填写完毕后,构建即可,构建完成后,运行docker
# docker run -d -p 8090:8080 test-jetty

待启动完成后,访问地址:http://192.168.10.136:8090/jetty-jersey/status
返回RUNNING则表示构建部署成功了

 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

jersey html5 文件上传 FormData restful    2017-07-12 16:08:46    822

本文主要使用jersey1.x,结合html5的FormData对象来进行多文件提交示例讲解

FormData

FormData对象是html5的一个对象,目前的一些主流的浏览器都已经兼容。IE8及以下是不支持FormData的。FormData还支持困扰众多开发者已久的ajax的上传文件,以前我们上传文件,需要写一个表单直接刷新提交,但是这里不需要了。

代码示例

html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script src="js/jquery.js" type="text/javascript"></script>
  6. <script type="text/javascript">
  7. function test(){
  8. var form = new FormData(document.getElementById("form1"));
  9. $.ajax({
  10. url:"http://192.168.2.8:8066/file/multiFiles/",
  11. type:"post",
  12. data:form,
  13. processData:false,
  14. contentType:false,
  15. success:function(data){
  16. alert("pass");
  17. },
  18. error:function(e){
  19. alert("错误!!");
  20. }
  21. });
  22. }
  23. </script>
  24. </head>
  25. <body>
  26. <form id
Docker jetty jersey 微服务 MicroService 容器    2017-03-26 11:06:08    918

本项目是将restful项目打包成可执行的war包,在docker中执行

环境介绍:

  1. docker 1.10.3
  2. jetty 8
  3. jersey 1.19

关键配置:

1. pom.xml配置

  1. <build>
  2. <finalName>${project.artifactId}</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.mortbay.jetty</groupId>
  6. <artifactId>jetty-maven-plugin</artifactId>
  7. <version>${jetty.version}</version>
  8. <configuration>
  9. <systemProperties>
  10. </systemProperties>
  11. <webApp>
  12. <contextPath>/</contextPath>
  13. </webApp>
  14. </configuration>
  15. </plugin>
  16. <plugin>
  17. <groupId>org.apache.maven.plugins</groupId>
  18. <artifactId>maven-compiler-plugin</artifactId>
  19. <version>2.5.1</version>
  20. <configuration>
  21. <source>1.7</source>
  22. <target>1.7</target>
  23. </configuration>
  24. </plugin>
  25. <plugin>
  26. <groupId>org.apache.maven.plugins</groupId>
  27. <artifactId>maven-source-plugin</artifactId>
  28. <version>2.2</version>
  29. <executions>
  30. <execution>
  31. <id>attach-sources</id>
  32. <goals>
  33. <goal>jar</goal>
  34. </goals>
  35. </execution>
  36. </executions>
  37. </plugin>
  38. <plugin>
  39. <groupId>org.