Я создаю проект SpringMVC + спящий режим и мыло с помощью web.xmlКак настроить SpringMVC с Hibernate и SOAP?
Но мой Проб, когда я начинаю его с Tomcat 9. Он awlays открыть страницу, я не определить в своем коде. Я не понимаю, почему он открыт. Это та страница: http://localhost8080:
Это мой код:
web.xml файла:
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!--
Main configuration file for this Spring web application.
-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/config/spring-config.xml
</param-value>
</context-param>
<!--
Loads the Spring web application context, using the files defined above.
-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>services</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/config/spring-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>services</servlet-name>
<url-pattern>*.wsdl</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>services</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
файла весна-конфигурации .xml:
<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Config for soap -->
<context:component-scan base-package="com.higgsup.internship.soap" />
<bean id="users" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" >
<property name="schemaCollection">
<bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
<property name="inline" value="true" />
<property name="xsds">
<list>
<value>schema/users.xsd</value>
</list>
</property>
</bean>
</property>
<property name="portTypeName" value="UserService"/>
<property name="serviceName" value="UserServices" />
<property name="locationUri" value="/ws"/>
</bean>
<!-- Enables the Spring MVC @Controller programming model -->
<!--<mvc:annotation-driven />-->
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<!--<mvc:resources mapping="/resources/**" location="/resources/" />-->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/springmvc"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.higgsup.internship.soap.model" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">create-drop</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="userDao" class="com.higgsup.internship.soap.dao.UserDAOImpl"></bean>
UserDAOImpl Файл:
public class UserDAOImpl implements UserDAO {
@PersistenceContext
private EntityManager entityManager;
public User getUser(Integer id) {
User user = entityManager.find(User.class, id);
return user;
}
public UserResponse show(UserRequest request){
UserResponse userResponse = new UserResponse();
UserForXML userForXML = new UserForXML();
User user = new User();
user = entityManager.find(User.class, request.getId());
userForXML.setUsername(user.getUsername());
userResponse.setUserForXML(userForXML);
return userResponse;
}
}
UserEndpoint Файл:
@Endpoint
общественного класса UserEndpoint { частных статических окончательное NAMESPACE_URI String = "http://spring.io/guides/gs-producing-web-service"; UserForXML
@Autowired
private UserDAO userDao;
@PayloadRoot(localPart = "userRequest", namespace = NAMESPACE_URI)
@ResponsePayload
public UserResponse show(@RequestPayload UserRequest userRequest){
UserResponse userResponse = new UserResponse();
UserForXML userForXML = new UserForXML();
userForXML.setUsername("hung");
userResponse.setUserForXML(userForXML);
return userResponse;
}
}
Файл:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "UserForXML", namespace = "http://com/higgsup/internship/soap", propOrder = {
"id",
"username",
"password",
"email"
}) общественного класса UserForXML {
protected Integer id;
protected String username;
protected String password;
protected String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
UserRequest Файл:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", namespace = "", propOrder = {
"id",
"username",
"password",
"email"
})
@XmlRootElement(name = "userRequest", namespace = "http://spring.io/guides/gs-producing-web-service")
public class UserRequest {
protected Integer id;
protected String username;
protected String password;
protected String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
UserResponse Файл:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"userForXML"
})
@XmlRootElement(name = "userResponse", namespace = "http://spring.io/guides/gs-producing-web-service")
общественного класса UserResponse {
protected UserForXML userForXML;
public UserForXML getUserForXML() {
return userForXML;
}
public void setUserForXML(UserForXML userForXML) {
this.userForXML = userForXML;
}
}
Это журнал:
03-июля-2016 13: 52: 00,356 INFO [Основной] org.apache.catalina.startup .VersionLoggerListener.log Версия сервера: Apache Tomcat/9.0.0.M 03-Jul-2016 13: 52: 00.358 INFO [главная] org.apache.catalina.startup.VersionLoggerListener.log Сервер построен: 12 марта 2016 11:39 : 59 UTC 03-Jul-2016 13: 52: 00.358 INFO [главная] org.apache.catalina. startup.VersionLoggerListener.log Номер сервера: 9.0.0.0 03-Jul-2016 13: 52: 00.358 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Название ОС: Windows 7 03-Jul-2016 13: 52: 00.358 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Версия: 6.1 03-Jul-2016 13: 52: 00.358 INFO [главная] org.apache.catalina.startup.VersionLoggerListener.log Архитектура: x86 03-Jul-2016 13: 52: 00.359 INFO [главная] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C: \ Program Files (x86) \ Java \ jdk1.8.0_60 \ jre 03-Jul-2016 13: 52: 00.359 INFO [главная] org.apache.catalina.startup.VersionLoggerListener.log JVM Версия: 1.8.0_60-b27 03-Jul-2016 13: 52: 00.359 INFO [главная] org.apache.catalina.startup.VersionLoggerListener.log JVM Поставщик: Oracle Corporation 03-Jul-2016 13: 52: 00.359 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C: \ Users \ hunghip.IntelliJIdea15 \ system \ tomcat \ Unnamed_spring-soap-hibernate-xml_2 03-Jul-2016 13: 52: 00.359 INFO [главная ] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D: \ Setup \ tomcat \ apache-tomcat-9.0.0.M 03-Jul-2016 13: 52: 00.359 INFO [главная] org.apache.catalina .startup.VersionLoggerListener.log Аргумент командной строки: -Dcom.sun.management.jmxremote = 03-Jul-2016 13: 52: 00.359 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcom.sun.management.jmxremote.port = 1099 03-Jul-2016 13: 52: 00.360 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcom.sun.management.jmxremote.ssl = false 03-Jul-2016 13: 52: 00.360 INFO [главная] org .apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcom.sun.management.jmxremote.authenticate = false 03-Jul-2016 13: 52: 00.360 INFO [main] org.apache.catalina.startup.VersionLoggerListener .log Аргумент командной строки: -Djava.rmi.server.hostname = 127.0.0.1 03-Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava .util.logging.config.file = C: \ Users \ hunghip.IntelliJIdea15 \ система \ кот \ Unnamed_spring-мыло-зимуют-xml_2 \ конф \ logging.prop erties 03-Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager 03- Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcatalina.base = C: \ Users \ hunghip.IntelliJIdea15 \ system \ tomcat \ Unnamed_spring-soap-hibernate -xml_2 03-Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Dcatalina.home = D: \ Setup \ tomcat \ apache-tomcat-9.0. 0.M 03-Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Аргумент командной строки: -Djava.io.tmpdir = D: \ Setup \ tomcat \ apache-tomcat -9.0.0.M4 \ temp 03-Jul-2016 13: 52: 00.361 INFO [главная] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Загруженная базовая библиотека Apache Tomcat на основе APR 1.2.7 с использованием APR версии 1.5.2. 03-Jul-2016 13: 52: 00.361 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Возможности APR: IPv6 [true], sendfile [true], принимать фильтры [false], random [true]. 03-Jul-2016 13: 52: 01.851 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL успешно инициализирован (OpenSSL 1.0.2h 3 мая 2016 года) 03-Jul-2016 13: 52: 02.726 INFO [main] org.apache.coyote.AbstractProtocol.init Инициализация протоколаHandler ["http-nio-8080"] 03-Jul-2016 13: 52: 02.816 INFO [main] org.apache.tomcat.util.net.NioSelectorPool. getSharedSelector Использование общего селектора для сервлета write/read 03-Jul-2016 13: 52: 02.981 INFO [main] org.apache.coyote.AbstractProtocol.init Инициализация протоколаHandler ["ajp-nio-8009"] 03-Jul- 2016 13: 52: 02.982 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Использование общего селектора для сервлета write/read 03-Jul-2016 13: 52: 02.983 INFO [main] org.apache .catalina.startup.Catalina.load Инициализация обработана в 3866 м s 03-июл-2016 13: 52: 03.240 INFO [главная] org.apache.catalina.core.StandardService.startInternal Начальная служба Catalina 03-Jul-2016 13: 52: 03.240 INFO [главная] org.apache.catalina .core.StandardEngine.startInternal Запуск сервлета: Apache Tomcat/9.0.0.M 03-Jul-2016 13: 52: 03.248 INFO [main] org.apache.coyote.AbstractProtocol.start Запуск протоколаHandler [http-nio-8080 ] 03-Jul-2016 13: 52: 03.260 INFO [main] org.apache.coyote.AbstractProtocol.start Запуск протоколаHandler [ajp-nio-8009] 03-Jul-2016 13: 52: 03.262 INFO [главная] org .apache.catalina.startup.Catalina.start Запуск сервера в 279 мс Подключен к серверу [2016-07-03 01: 52: 03,575] Artifact spring-soap-hibernate-xml: war: Артефакт развертывается, подождите ... 03-Jul-2016 13: 52: 08.427 INFO [RMI TCP Connection (5) -127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars По меньшей мере один JAR был отсканирован для TLD, но не содержит TLD. Включите ведение журнала отладки для этого регистратора для полного списка проверенных JAR-файлов, но в них не было обнаружено ни одного TLD. Пропуск ненужных JAR во время сканирования может улучшить время запуска и время компиляции JSP. 03-Jul-2016 13: 52: 08.538 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: начато инициализация 03-июл-2016 13:52: 08.695 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.prepareRefresh Обновление Root WebApplicationContext: дата запуска [Вс июль 03 13:52:08 ICT 2016]; root из контекстной иерархии 03-Jul-2016 13: 52: 08.747 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions Загрузка XML-компонентов из ресурса ServletContext [/ WEB-INF/config/spring-config.xml] 03-Jul-2016 13: 52: 09.239 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor. JSR-330 «javax.inject.Inject» аннотация найдена и поддерживается для автоподготовки 03-Jul-2016 13: 52: 09.489 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean. createNativeEntityManagerFactory Построение контейнера JPA EntityManagerFactory для единицы сохранения по умолчанию ' 03-Jul-2016 13: 52: 09.515 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.jpa.internal.util.LogHelper.logPersistenceUnitInformation HHH000204: Обработка PersistenceUnitInfo [ имя: по умолчанию ...] 03-Jul-2016 13: 52: 09.642 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.Version.logVersion HHH000412: Hibernate Core {5.2. 1.Final} 03-Jul-2016 13: 52: 09.644 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.cfg.Environment. HHH000206: hibernate.properties не найдено 03-Jul-2016 13: 52: 09.646 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.cfg.Environment.buildBytecodeProvider HHH000021: имя провайдера байтокода: javassist 03- Июль-2016 13: 52: 09.740 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.annotations.common.reflection.java.JavaReflectionManager. HCANN000001: Hibernate Commons Annotations {5.0.1.Final} 03-Jul-2016 13: 52: 11.332 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.dialect.Dialect. HHH000400: Использование диалекта: org.hibernate.dialect.MySQLDialect Hibernate: падение таблицы, если существует hibernate_sequence Hibernate: отбрасывание табличного, если существует пользователь Hibernate: создать таблицу hibernate_sequence (next_val BigInt) Hibernate: вставить в значениях hibernate_sequence (1) Hibernate : create table User (id integer not null, email varchar (255), пароль varchar (255), имя пользователя varchar (255), первичный ключ (id)) 03-Jul-2016 13: 52: 12.567 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.tool.schema.internal.SchemaCreatorImpl.applyImportSources HHH000476: Выполнение сценария импорта 'org.hiber[email protected]e760c3' 03-Jul-2016 13 : 52: 12.597 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.orm.jpa.LocalContainerEntityManagerFact oryBean.buildNativeEntityManagerFactory Инициализированный JPA EntityManagerFactory для единицы сохранения 'default' 03-Jul-2016 13: 52: 12.826 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection.afterPropertiesSet Loaded Ресурс ServletContext [/schema/users.xsd] 03-Jul-2016 13: 52: 13.105 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: завершена инициализация в 4567 мс 03-июл-2016 13: 52: 13.184 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.servlet.DispatcherServlet.initServletBean FrameworkServlet 'services': начата инициализация 03-Jul- 2016 13:52:13.190 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.context.support.XmlWebApplicationContext.prepareRefresh Обновление WebApplicationContext для пространства имен 'services-servlet': дата запуска [Вс июль 03 13:52:13 ICT 2016 ]; parent: Root WebApplicationContext 03-Jul-2016 13: 52: 13.191 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions Загрузка XML-компонентов из ресурсов ServletContext [/ WEB-INF/config/spring-config.xml] 03-Jul-2016 13: 52: 13.234 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor. JSR-330 «javax.inject.Inject» аннотация найдена и поддерживается для автоподготовки 03-Jul-2016 13: 52: 13.250 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Развертывание каталога веб-приложений D: \ Setup \ tomcat \ apache-tomcat-9.0.0.M4 \ webapps \ manager 03-Jul-2016 13: 52: 13.349 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.orm. jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory Построение контейнера JPA EntityManagerFactory для единицы сохранения по умолчанию ' 03-Jul-2016 13: 52: 13.349 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.jpa.internal.util.LogHelper .logPersistenceUnitInformation HHH000204: Обработка PersistenceUnitInfo [ имя: по умолчанию ...] 03-Jul-2016 13: 52: 13.366 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.dialect.Dialec т. HHH000400: Использование диалекта: org.hibernate.dialect.MySQLDialect Hibernate: падение таблицы, если существует hibernate_sequence Hibernate: отбрасывание табличного, если существует пользователь Hibernate: создать таблицу hibernate_sequence (next_val BigInt) Hibernate: вставить в значениях hibernate_sequence (1) Hibernate : create table User (id integer not null, email varchar (255), пароль varchar (255), имя пользователя varchar (255), первичный ключ (id)) 03-Jul-2016 13: 52: 13.496 INFO [localhost-startStop -1] org.apache.catalina.startup.HostConfig.deployDirectory Развертывание каталога веб-приложений D: \ Setup \ tomcat \ apache-tomcat-9.0.0.M4 \ webapps \ manager закончилось в 244 мс 03-июл-2016 13: 52: 13.583 INFO [RMI TCP Connection (5) -127.0.0.1] org.hibernate.tool.schema.internal.SchemaCreatorImpl.applyImportSources HHH000476: Ex ecuting import script 'org.hiber[email protected]e760c3' 03-Jul-2016 13: 52: 13.591 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.orm. jpa.LocalContainerEntityManagerFactoryBean.buildNativeEntityManagerFactory Инициализированный JPA EntityManagerFactory для единицы сохранения по умолчанию ' 03-Jul-2016 13: 52: 13.620 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection. afterPropertiesSet Loaded ServletContext resource [/schema/users.xsd] 03-Jul-2016 13: 52: 14.031 INFO [RMI TCP Connection (5) -127.0.0.1] org.springframework.web.servlet.DispatcherServlet.initServletBean FrameworkServlet 'services ': инициализация завершена в 847 мс [2016-07-03 01: 52: 14,145] Артефакт spring-soap-hibernate-xml: war: Артефакт успешно развернут [2016-07-03 01 : 52: 14145] Артефакт весна-мыло-зимуют-XML: войны: Deploy взял 10,570 миллисекунды
Не могли бы вы показать адрес страницы в адресной строке браузера? –
извините. Я добавил его –
Кажется, что пример приложения развертывается с корнем контекста/на вашем сервере tomcat, т. Е.то, что вы видите, не является страницей вашего приложения. Ваше приложение должно быть в http: // localhost: 8080/spring-soap-hibernate-xml или другом URL-адресе в зависимости от конфигурации вашего развертывания. Для настройки Tomcat использует /META-INF/context.xml. –