2013-04-03 5 views
0

Я пишу свой первый пример struts. I выполнил точные шаги, но даже после этого столкнулся с этой проблемой, не знаю, что неправильно работает код на машине моего учителя, но на моем нет, я думаю есть небольшая ошибка, я делаю плз помочь мне найти 1) у меня есть index.jspstruts: 404 status Ресурс запроса не найден

<%@ taglib uri="/struts-tags" prefix="s" %> 
<s:form action="login"> 
<s:textfield name="username" label="username:"></s:textfield> 
<s:submit></s:submit> 
</s:form> 

2) пакет боб с классом Loginaction (пого класс)

package bean; 

public class Loginaction { 
    String username; 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 
    public String execute() 
    { 


      return "success"; 


    } 



} 

3) struts.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
    "http://struts.apache.org/dtds/struts-2.3.dtd"> 
<struts> 
<package name="demo" extends="struts-default"> 
<action name="login" class="bean.Loginaction"> 
<result name="success">welcome.jsp</result> 

</action> 
</package> 

</struts> 

4) welcome.jsp

<h1>hi user.</h1> 

5) Файл web.xml

<?xml version="1.0" encoding="UTF-8"?> 

<web-app id="WebApp_9" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
<display-name>struts1</display-name> 
    <welcome-file-list> 

    <welcome-file>index.jsp</welcome-file> 

    </welcome-file-list> 
    <filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 
</web-app> 

6) и структура каталогов

как пакет и struts.xml в src, а также в web-inf (jsps и web.xml)

на консоли ia м getting``

Apr 4, 2013 12:54:26 AM org.apache.catalina.core.AprLifecycleListener init 
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/tarun/MyEclipse Blue/binary/com.sun.java.jdk.linux.x86_64_1.6.0.u43/bin:/home/tarun/MyEclipse Blue/plugins/com.genuitec.eclipse.easie.tomcat.myeclipse_11.0.0.me201211151802/tomcat/bin 
Apr 4, 2013 12:54:26 AM org.apache.coyote.http11.Http11Protocol init 
SEVERE: Error initializing endpoint 
java.net.BindException: Address already in use:8080 
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:501) 
    at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177) 
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1059) 
    at org.apache.catalina.core.StandardService.initialize(StandardService.java:677) 
    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:518) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:538) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) 
Apr 4, 2013 12:54:26 AM org.apache.catalina.startup.Catalina load 
SEVERE: Catalina.start 
LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use:8080 
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1061) 
    at org.apache.catalina.core.StandardService.initialize(StandardService.java:677) 
    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:518) 
    at org.apache.catalina.startup.Catalina.load(Catalina.java:538) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) 
Apr 4, 2013 12:54:26 AM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 379 ms 
Apr 4, 2013 12:54:26 AM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Apr 4, 2013 12:54:26 AM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.13 
Apr 4, 2013 12:54:27 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 
INFO: Parsing configuration file [struts-default.xml] 
Apr 4, 2013 12:54:27 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 
INFO: Parsing configuration file [struts-plugin.xml] 
Apr 4, 2013 12:54:29 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info 
INFO: Parsing configuration file [struts.xml] 
Apr 4, 2013 12:54:29 AM org.apache.coyote.http11.Http11Protocol start 
SEVERE: Error starting endpoint 
java.net.BindException: Address already in use:8080 
    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:501) 
    at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:515) 
    at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:204) 
    at org.apache.catalina.connector.Connector.start(Connector.java:1132) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:531) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 
Apr 4, 2013 12:54:29 AM org.apache.catalina.startup.Catalina start 
SEVERE: Catalina.start: 
LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Address already in use:8080 
    at org.apache.catalina.connector.Connector.start(Connector.java:1139) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:531) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:566) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 
Apr 4, 2013 12:54:29 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 3506 ms 
Apr 4, 2013 12:54:29 AM org.apache.catalina.core.StandardServer await 
SEVERE: StandardServer.await: create[8005]: 
java.net.BindException: Address already in use 
    at java.net.PlainSocketImpl.socketBind(Native Method) 
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) 
    at java.net.ServerSocket.bind(ServerSocket.java:328) 
    at java.net.ServerSocket.<init>(ServerSocket.java:194) 
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:373) 
    at org.apache.catalina.startup.Catalina.await(Catalina.java:630) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:590) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 
Apr 4, 2013 12:54:29 AM org.apache.coyote.http11.Http11Protocol pause 
INFO: Pausing Coyote HTTP/1.1 on http-8080`enter code here` 
Apr 4, 2013 12:54:29 AM org.apache.catalina.connector.Connector pause 
SEVERE: Protocol handler pause failed 
java.lang.NullPointerException 
    at org.apache.jk.server.JkMain.pause(JkMain.java:679) 
    at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153) 
    at org.apache.catalina.connector.Connector.pause(Connector.java:1074) 
    at org.apache.catalina.core.StandardService.stop(StandardService.java:563) 
    at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744) 
    at org.apache.catalina.startup.Catalina.stop(Catalina.java:616) 
    at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:659) 
+2

'java.net.BindException: Адрес уже используется: 8080' –

ответ

0

Это означает, что процесс уже использует порт 8080. Как правило, новички подножку, начав TOMCAT экземпляр без выключайте предыдущую. Вы должны это проверить. Кроме того, возможно, что еще один сервис прослушивал порт 8080. Если это так, вам нужно определить, какой процесс использует порт 8080.

Мой совет, что вы узнаете, какие инструменты доступны в вашей системе, которые помогут вам ответьте на следующие вопросы:

1) какие процессы запущены?

2) Какие из них имеют сетевые порты для прослушивания входящих запросов, а какие из них являются серверами?

Как только вы сможете это сделать, вы узнаете, как определить конфликтный процесс, а затем вам просто нужно закрыть его.

+0

У пользователя может быть несколько серверов, определенных в MyEclipse, и у них уже есть один запуск при попытке использовать другой. Посмотрите в представлении «Серверы» и остановите все серверы, прежде чем пытаться запустить приложение на сервере MyEclipse из контекстного меню проекта. В качестве альтернативы, он может иметь другой экземпляр, внешний для MyEclipse, работает, и, если это так, это нужно отключить. Выход из системы и вход в систему снова должны очистить все эти. –

-1

Просто измените http-порт nb сервера tomcat в файле server.xml, оставаясь при этом сохраненным.

, чтобы сделать следующие шаги:

  1. открыт ../tomcat5.x/conf/server.xml и изменить порт нб, такие как или 8090 любой вместо 8080
    В ...
    <---Define a non-SSL HTTP/1.1 Connector on port 8080---->
    <Connector port="8090" ..........>
  2. Сохранить это.
  3. наконец запустить сервер Tomcat

вот и все.
спасибо.

RAAM

0

Попробуйте убить все кот и Java-процессы на машине вы увидели ошибку и повторите попытку запуска Tomcat. В вашем случае 8080 уже используется другим процессом. Убейте это первым и повторите попытку.

Смежные вопросы