Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Core + TomCat + AngularJS + Bootstrap / 24 сообщений из 24, страница 1 из 1
17.06.2015, 11:34
    #38985572
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Добрый день. Попросил сделать веб-приложенис с такой архитектурой
Spring Core + TomCat + AngularJS + Bootstrap
Хотелось бы услышать советы по правильной организации архитектуры приложения.
Так же может кто подсказать с примерами или как работает связь AngularJS + Bootstrap + Spring Core ?
...
Рейтинг: 0 / 0
17.06.2015, 11:42
    #38985586
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXa,

Вместо Spring Core нужен Spring MVC, который будет REST сервисом. Что тут конкретно по "архитектуре" советовать не понятно.
Spring -> Google -> Spring MVC REST Controller
TomCat на самом деле Tomcat.
AngularJS и Bootstrap заготовок в инете как грязи.

Создаёте war модуль. В него запихиваете JavaScript, CSS, HTML из AngularJS и Bootstrap.
В Java коде реализуете любой Spring MVC Hello World который с JSON.
Собираете, деплоите на Tomcat и готово.

Об архитектуре тут вообще никакой речи не идёт. Вы что-то хотели спросить, но вот что конкретно?
...
Рейтинг: 0 / 0
17.06.2015, 12:10
    #38985640
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Blazkowicz,

В том то и дело что Spring MVC попросили не использовать.
По нужно использовать Spring+cxf.
...
Рейтинг: 0 / 0
17.06.2015, 12:10
    #38985641
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaТак же может кто подсказать с примерами или как работает связь AngularJS + Bootstrap + Spring Core ?
Если AngularJS, то спринга может не быть вообще. Контроллёры и БЛ на клиенте в JS. На сервере только отвечающие сервлеты, например, или отдача JSON.
Т.е. идти в форум JS и делать проект. Только потом сюда для серверной части.
IMHO
...
Рейтинг: 0 / 0
17.06.2015, 12:17
    #38985660
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaВ том то и дело что Spring MVC попросили не использовать.
По нужно использовать Spring+cxf.
Странный запрос. Тогда читать про JAX-RS
http://cxf.apache.org/docs/restful-services.html
и Spring интеграцию
http://cxf.apache.org/docs/writing-a-service-with-spring.html

Какие ещё фреймверки вы ловко умолчали?
...
Рейтинг: 0 / 0
17.06.2015, 12:40
    #38985690
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Blazkowicz,

Вроде все)
Проект (Spring + CXf + Tomcat) собрал с помощью Maven и все работает. как теперь присобачить Bootstrap не могу понять.
...
Рейтинг: 0 / 0
17.06.2015, 12:48
    #38985707
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXa,
бутстрап - маленькая библиотека функций низкого уровня.
Как обычно:
Код: html
1.
 <link href="css/bootstrap.min.css" rel="stylesheet">
...
Рейтинг: 0 / 0
17.06.2015, 12:49
    #38985712
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
...
Рейтинг: 0 / 0
17.06.2015, 16:19
    #38985984
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Petro123,

Hello world работает. а может будет у вас какой-нить примерчик с реализацией например вывода имени.
У меня есть интерфейс
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@Path("/path/")
public interface TestService {
    
	
	@GET
	@Path("/user/{name}")
	public Response getUserName(@PathParam("name") String name,HttpServletResponse response) throws IOException;

    @GET
	@Path("/images/")
	@Produces("image/png")
	public InputStream getImage() throws IOException;

}



и класс который выводит имя

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class TestServiceImpl implements TestService{
	

	public Response getUserName(String name) throws URISyntaxException  {

		if(name.equals("NONAME")){
			URI createdURI = new URI("http://192.168.101.63:8080/spring/rest/path/images");
			return Response.seeOther(createdURI).build();
		}else {
		return Response.status(200)
					.entity("Hello " + name).build();
		}
}
	}


как его обернуть имя c помощью bootstrap
...
Рейтинг: 0 / 0
17.06.2015, 19:58
    #38986250
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXa,
Вы не поняли.
Либо вы реализуете верстку на java со своими классами.... и выкинуть js фреймворки.
Либо делаете то что вас просят - на форум JS.
...
Рейтинг: 0 / 0
17.06.2015, 20:01
    #38986253
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Различайте серверный код (бд) и вёрстку (визуальное оформление).
Вам дали сразу всё))
...
Рейтинг: 0 / 0
17.06.2015, 20:06
    #38986256
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXa,
Повторю совет. Сначала ангуляр код, а потом серверный код в response
...
Рейтинг: 0 / 0
18.06.2015, 11:25
    #38986670
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Petro123,

Извините не очень понимаю. Получаеться из спринга нельзя общаться с будстрапом?
...
Рейтинг: 0 / 0
18.06.2015, 11:31
    #38986684
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaPetro123,
Извините не очень понимаю. Получаеться из спринга нельзя общаться с будстрапом?
общаться можно. Но каждый делает своё дело)))).
Я тебе дал демку.
Сделай такую на ангуляре и твои вопросы отпадут сами.
Меньше говори, больше делай.
...
Рейтинг: 0 / 0
18.06.2015, 11:33
    #38986691
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
...
Рейтинг: 0 / 0
18.06.2015, 11:35
    #38986694
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXa,
если тебе не нравится JS\HTML отдай задачу другому.
Удачи!
...
Рейтинг: 0 / 0
18.06.2015, 11:45
    #38986707
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaПолучаеться из спринга нельзя общаться с будстрапом?
А зачем?
...
Рейтинг: 0 / 0
18.06.2015, 11:57
    #38986720
yelena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaPetro123,

Извините не очень понимаю. Получаеться из спринга нельзя общаться с будстрапом?

Из спринга вы будете общаться с AngularJS.
http://www.w3schools.com/angular/angular_http.asp

http://angular-ui.github.io/bootstrap/

Научитесь уже гуглом пользоваться.
...
Рейтинг: 0 / 0
28.06.2015, 23:52
    #38994601
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Разобрался вроде как все работает. Теперь возникла проблема как получать от angularjs json-ы.
При добавление нового пользователя выводит ошибку.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
WARNING: javax.ws.rs.WebApplicationException
	at org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.reportEmptyContentLength(AbstractJAXBProvider.java:210)
	at org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:148)
	at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1141)
	at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1089)
	at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:664)
	at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:624)
	at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:224)
	at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:94)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:238)
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:222)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:163)
	at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:239)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPut(AbstractHTTPServlet.java:176)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:651)
	at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)


вот мои класс вывода,добавления и обновления пользователей.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
@Path("/users")
@Service
public class RestfulSample {
static Logger logger = Logger.getLogger(RestfulSample.class);
	static String xmlString = null;
	static Map<String, User> users = new HashMap<String, User>();
	
	static {
		System.out.println("Initializing Internal DataStore...");
		users.put("123", new User(123, "Роман", "Юрьевич", "9.12.88", "pochta@mail.com", "F://page.jpg", true));
		users.put("124", new User(124, "Виктория", "", "", "@mail.com", "", true));
	}

        @GET
	@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
	public ArrayList<User> getAllUsers(){
		System.out.println("Getting all users ..");
		ArrayList<User> userList= new ArrayList<User>(users.values());
		return userList;
	}
	
	@Path("{id}")
	@GET
	@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
	public User getUserById(@PathParam("id") String id){
		System.out.println("Getting user by ID: " + id);
		
		User user = users.get(id);
		if (user != null) {
			logger.info("Inside getUserById, returned: " + user.toString());
		  } else {
			logger.info("Inside getUserById, ID: " + id + ", NOT FOUND!");
		  }
		return user;
	}

        @Path("/add")
	@POST
	@Produces({"application/xml", "application/json"})
        @Consumes({"application/xml", "application/json"})
	public User addActor(User user) {
	    System.out.println("Adding user with ID: " + user.getId());
	     
	    if (user != null) {
	    System.out.println("Inside addUser, returned: " + user.toString());
	    users.put(""+user.getId(), user);
	    System.out.println("# of users: " + users.size());
	    System.out.println("Users are now: " + users);
	    } else {
	    System.out.println("Inside addUser, Unable to add users...");
	    }
	    
	    return user;
	  }

        @Path("{id}")
	@PUT
	@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
	@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
	public User updateUser(User user){
		users.put(""+user.getId(), user);
		
		System.out.println("updateUser with ID: " + user.getId());
		  if (user != null) {
			logger.info("Inside updateUSer, returned: " + user.toString());
		  } else {
			logger.info("Inside updateUser, ID: " + user.getId() + ", NOT FOUND!");
		  }
		return user;
	}
}



из xml в json
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        <!-- JAX-RS -->
    <jaxrs:server id="restContainer" address="/">
        <jaxrs:serviceBeans>
            <ref bean="serviceBean" />
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
        </jaxrs:providers>
        <jaxrs:extensionMappings>
			<entry key="json" value="application/json" />
			<entry key="xml" value="application/xml" />
		</jaxrs:extensionMappings>
    </jaxrs:server>



кусок кода angularjs добавления и обновления данных.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
$scope.addNew = function(element) {
      $scope.operation="create";
      $scope.clearForm();
      main.id.focus();
      $scope.isSaveDisabled = false;
      $scope.isDeleteDisabled = true;
    }
     
    $scope.saveuser = function(id) {
      $scope.jsonObj = angular.toJson($scope.user, false);
      console.log("[update] data: " + $scope.jsonObj);
 
      if ($scope.operation == "update") {
        var response = $http.put('/SpringSample/rest/users/' + id, $scope.jsonObj);
        response.success(function(data, status, headers, config) {
          $scope.resetSearch();
          });
         
        response.error(function(data, status, headers, config) {
          alert("AJAX failed to get data, status=" + status);
        })
      } else if ($scope.operation == "create") {
        var response = $http.post('/SpringSample/rest/users/add', $scope.jsonObj);
        response.success(function(data, status, headers, config) {
          $scope.resetSearch();
          });
         
        response.error(function(data, status, headers, config) {
          alert("AJAX failed to get data, status=" + status);
        }) 
      }
    };
...
Рейтинг: 0 / 0
29.06.2015, 00:19
    #38994602
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Верней от ангуляра приходит Json и как его правильно обработать.
...
Рейтинг: 0 / 0
29.06.2015, 09:49
    #38994686
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
SguXaВерней от ангуляра приходит Json
и где он?
...
Рейтинг: 0 / 0
29.06.2015, 12:12
    #38994815
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
99% что его и нету
at org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.reportEmptyContentLength(AbstractJAXBProvider.java:210)
...
Рейтинг: 0 / 0
29.06.2015, 12:44
    #38994846
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
его всё на Jav'у тянет.
IMHO отладил бы сначала просмотр в ангуляр строчки Demo и Hello World.
...
Рейтинг: 0 / 0
29.06.2015, 13:16
    #38994901
SguXa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring Core + TomCat + AngularJS + Bootstrap
Разобрался)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Core + TomCat + AngularJS + Bootstrap / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]