Пәрмен жолынан құруға тырысып, WAR файлын шығарыңыз

Менің қалта орналасуы:

/web-inf/web.xml
/web-inf/classes/

HelloWorld.java:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet{ 
  public void doGet(HttpServletRequest request, 
  HttpServletResponse response)
  throws ServletException,IOException{
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
  pw.println("<html>");
  pw.println("<head><title>Hello World</title></title>");
  pw.println("<body>");
  pw.println("

Hello World

");
  pw.println("</body></html>");
  }
}

Мен келесі әрекеттерді орындағым келеді:

  1. пәрмен жолы арқылы бәрін құрастырыңыз
  2. Tomcat веб-сайттар каталогына .war файлы арқылы жариялаңыз

HelloWorld.java файлын қай жерге қоюға және оны пәрмен жолымен қалай құрастыруға болады? HelloWorld.java өнімінің шығысы /classes/ қалтасында жүреді деп есептеймін.

Содан кейін .war файлын қалай жасаймын?

Мен қолмен құрастыруға тырысты:

javac HelloWorld.java

Мен импортқа қатысты қателіктер алдым, яғни менің жолымдағы кітапханаларды таба алмадым. Java EE кітапханасы жүктеп алып, менің жолыма қосуға тура келеді ме?

2
Бастапқыда IDE көмегімен жасалған бастапқы файлдар немесе пәрмен жолынан қолмен жасайсыз ба?
қосылды автор Steve Claridge, көзі

3 жауаптар

Сіздің кодыңыз Java-ның кітапханасында жоқ сервлет API-ға байланысты. Оны сынып жолына қосыңыз:

javac -classpath $TOMCAT_HOME/lib/servlet-api.jar yourpackage/HelloWorld.java

WARs JARs (ZIP UTF-8 файл аттары бар ZIP) ретінде бірдей файл пішімін ортақ пайдаланады. Жалпы ZIP-утилиттерді олармен жұмыс істеу үшін пайдалана аласыз.

WAR құрылымы келесідей болуы мүмкін:

index.html
foo.jsp
WEB-INF/classes/yourpackage/HelloWorld.class
WEB-INF/web.xml

Жоғарыда сіздің сіздің .java файлыңыздағы packagepackage; декларациясы бар деп болжайды. Әдепкі бумадан аулақ болу керек.

4
қосылды

Егер бұл ойыншықтың жобасы ғана болса, бұл уақытқа тұрарлық болмауы мүмкін, бірақ мен сізге қажетті барлық кітапханалардың қадағалауын қадағалауға болады, өйткені жақын арада басқарылмайтын тапсырма болады. Мен қолданамын: Maven , бірақ баламалар бар.

2
қосылды

Сіз jar командасын пайдалануыңыз және тәуелділіктерді сынып жолына қосуыңыз керек

1
қосылды