Maven 개발 웹 응용 상세 절차 사용
간단 한 JSP/servlet 을 실현 합 니 다.
웹 응용 프로젝트 를 만 드 는 환경 을 구축 합 니 다웹 응용 프로젝트 를 만 듭 니 다웹 응용 프로젝트 의 디 렉 터 리 구조웹 서버 와 결합 하여 웹 애플 리 케 이 션 을 발표 합 니 다웹 애플 리 케 이 션 의 개발 과 발표 테스트 과정 을 체험 합 니 다클래식 한 MVC 버 전 을 구현 한 사용자 CRUD.
4.567917.첫 번 째 단계 의 몇 가지 측면 에 익숙 하 다4.567917.전형 적 인 업무 논 리 를 결합 하여 CRUD 를 실현 한다웹 판 HelloWorld 구현
1)File→New→Others 명령 을 선택한다.Create Maven Project 명령 을 선택 하고'다음'단 추 를 누 르 십시오.웹 애플 리 케 이 션 을 만 드 는 Archetype 을 선택 하 십시오.그림 1 참조.
다른 유사 한 것 도 선택 할 수 있 습 니 다.웹 애플 리 케 이 션 을 만 드 는 것 도 가능 합 니 다.예 를 들 어 maven-archetype-webapp 도 가능 합 니 다.물론 인터넷 에서 좌 표를 찾 은 Archetype 플러그 인 을 선택 하여 설치 할 수도 있다.
새로운 Archetype 을 어떻게 설치 합 니까?그림 에 있 는 Add Archetype...단 추 를 누 르 면 나타 나 는 창 에 인터넷 에서 찾 은 플러그 인 좌표 정 보 를 입력 합 니 다.그림 2 참조.
OK 단 추 를 누 르 면 MyEclipse 에서 이 구조물 을 자동 으로 다운로드 합 니 다.프로젝트 를 만 드 는 마법사 페이지 를 다시 열 면 방금 추 가 된 Archetype 플러그 인 이 추가 되 었 습 니 다.그림 3 참조.
2)"next"를 누 르 면 다음 화면 에 새로 만 든 웹 프로젝트 의 좌표 정보 와 가방 이름 을 입력 합 니 다.그림 4 참조.
3)Finish 단 추 를 누 르 면 M2Eclipse 는 자동 으로 웹 프로젝트 MvnDemo 02 를 만 듭 니 다.src/main 디 렉 터 리 에 웹 앱 디 렉 터 리 를 추 가 했 습 니 다.웹 애플 리 케 이 션 특유 의 WEB-INF 디 렉 터 리,웹.xml,index.jsp 등 이 있 습 니 다.
이 가운데 웹 앱 디 렉 터 리 와 안에 있 는 파일 및 구 조 는 Maven 에서 도 고정 되 어 있다.이렇게 해서 웹 응용 프로젝트 를 만 들 었 습 니 다.
샘플 코드 작성
프로젝트 가 만 들 어 졌 습 니 다.다음 단 계 는 테스트 코드 를 쓰 는 것 입 니 다.다음은 세 개의 코드(jsp 2 개 와 servlet 1 개)를 쓸 것 이다.
index.jsp,입력 상 자 를 표시 합 니 다.입력 한 내용 을 제출 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index JSP</title>
</head>
<body>
<form action="welcomeServlet" method="post">
:<input type='text' name="name"/><br/>
<input type='submit' value=' '/>
</form>
</body>
</html>
welcome.jsp,인사 정 보 를 표시 합 니 다.코드 는 다음 과 같 습 니 다.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome JSP</title>
</head>
<body>
:${welcome }
</body>
</html>
welcome Servlet,index.jsp 가 보 낸 이름 을 받 아 인사 메 시 지 를 생 성하 여 welcome.jsp 에 표시 합 니 다.
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class WelcomeServlet
*/
public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String welcome = "Hello," + name;
request.setAttribute("welcome", welcome);
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}
물론 코드 작성 외 에 웹.xml,servlet,웹.xml 코드 를 설정 해 야 합 니 다.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>MvnDemo02</display-name>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>WelcomeServlet</display-name>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>com.mengma.demo.MvnDemo02.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping>
</web-app>
웹 프로젝트 구축초기의 구축 과정 은 앞의 기본 적 인 자바 프로젝트 와 마찬가지 로 자신의 수요 에 따라 pom.xml 에 해당 하 는 기능 의 플러그 인 을 설정 하고 해당 하 는 그래 픽 메뉴 명령 을 실행 하면 됩 니 다.여기 서 중복 설명 을 하지 않 습 니 다.
웹 애플 리 케 이 션 이 구축 되면 컴 파일 패키지 만 설치 하 는 것 이 아니 라 웹 서버 에 발표 하여 테스트 디 버 깅 을 해 야 합 니 다.톰 캣 7 서버 에 발 표 된 테스트 를 시작 하 는 두 가지 방식 을 소개 한다.프로젝트 개발 과정 에서 자신의 수요 에 따라 그 중 하 나 를 선택 할 수 있다.
1.Maven 의 Jetty 플러그 인 을 사용 하여 웹 배치
pom.xml 에 Jetty 플러그 인의 좌표 정 보 를 추가 합 니 다.내용 은 다음 과 같 습 니 다.
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
</configuration>
</plugin>
MyEclipse 에 웹 서버 실행 환경 을 설정 합 니 다.MyEclipse 메뉴 Window→Preferences 명령 을 선택 하고 Preferences 창 을 열 고 왼쪽 트 리 Server→Runtime Environment 를 선택 하 십시오.그림 5 참조.
오른쪽 에 있 는 Add...단 추 를 누 르 면 서버 를 선택 하 는 창 이 팝 업 됩 니 다.창 에 있 는 Apache Tomcat v 7.0 서버 를 선택 하 십시오.그림 6 참조.
Next 단 추 를 누 르 면 선택 한 Tomat Server 설정 페이지 에 들 어가 Tomcat 의 설치 디 렉 터 리 와 JRE 실행 환경(JDK)을 선택 합 니 다.그림 7 참조.
Finish 와 Apply and Close 단 추 를 누 르 면 모든 설정 창 을 닫 고 MyEclipse 의 웹 서버 설정 을 완료 합 니 다.
'프로젝트'를 오른쪽 클릭 하고 Run As→Maven build 명령 을 선택 하여 사용자 정의 launch 창 을 열 고 Goals 에 시작 하 는 플러그 인 이름과 대상'Jetty:run'을 입력 합 니 다.그림 8 참조.
Run 단 추 를 누 르 면 한 번 실행 한 후,매번 Run As→Maven build 명령 에서 중복 실행 을 선택 할 수 있 습 니 다.
서버 가 시작 되 었 습 니 다.다음 브 라 우 저 를 열 고 입력 하 십시오:
http://localhost:8080/MvnDemo02/index.jsp
이렇게 하면 첫 번 째 페이지 에 접근 할 수 있다.2.cargo-maven2-plugin 플러그 인 을 사용 하여 웹 배치
cargo 플러그 인 을 사용 하 는 것 은 상대 적 으로 간단 합 니 다.pom.xml 에서 설정 하고 배치 응용 에 필요 한 정 보 를 지정 한 다음 에 Run As→Maven install 명령 을 실행 하면 cargo 플러그 인 은 자동 으로 war 패키지 로 만 든 응용 을 지정 한 웹 서버 의 발표 디 렉 터 리 에 발표 합 니 다.
다음은 웹 서버 를 시작 하고 이전 방식 으로 브 라 우 저 탐색 페이지 를 엽 니 다.
Gargo 의 pom.xml 플러그 인 설정 은 다음 과 같 습 니 다.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.com.mvnbook.demo</groupId>
<artifactId>MvnDemo02</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>MvnDemo02 Web App</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
</configuration>
</plugin>
<plugin>
<!-- -->
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.8</version>
<configuration>
<!-- , start、stop -->
<wait>true</wait>
<!-- -->
<container>
<!-- tomcat -->
<containerId>tomcat7x</containerId>
<!-- :standalone, installed -->
<type>installed</type>
<!-- Tomcat , catalina.home -->
<home>C:\work\servers\apache-tomcat-7.0.69</home>
</container>
<!-- -->
<configuration>
<!-- ,existing: -->
<type>existing</type>
<!-- Tomcat , catalina.home -->
<home>C:\work\servers\apache-tomcat-7.0.69</home>
</configuration>
<deployables> <!-- -->
<deployable> <!-- War -->
<groupId>cn.com.mvnbook.demo</groupId>
<artifactId>MvnDemo02</artifactId>
<type>war</type>
<properties>
<context>MvnDemo02</context> <!-- -->
</properties>
</deployable>
</deployables>
<deployer> <!-- -->
<type>installed</type> <!-- -->
</deployer>
</configuration>
<executions>
<!-- -->
<execution>
<id>verify-deployer</id>
<phase>install</phase> <!-- install -->
<goals>
<goal>deployer-deploy</goal>
</goals>
</execution>
<execution>
<id>clean-deployer</id>
<phase>clean</phase>
<goals>
<goal>deployer-undeploy</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>6.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<finalName>MvnDemo02</finalName>
</build>
</project>
'프로젝트'를 오른쪽 클릭 하고 Run As→Maven install 명령 을 선택 하면 Tomcat 7 의 발표 디 렉 터 리 에서 MvnDemo 02.war 를 발견 할 수 있 습 니 다.시작 하면 자동 으로 발표 되 고 접근 할 수 있 습 니 다.테스트
앞의 어떤 방식 이 든 서버 를 시작 한 후 브 라 우 저 를 열 고 입력 합 니 다.http://localhost:8080/MvnDemo02/index.jsp 링크 후 테스트 를 진행 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nexus에서 자체 Maven 리포지토리를 구축하고 sbt에서 사용Scala 현장에서 프로젝트 종속성을 폐쇄된 Maven 리포지토리로 관리할 수 없는가 하는 이야기가 오르기 때문에, 일단 로컬상에서 간이로 검증한 내용을 비망으로 남깁니다. 프로덕션 용 리포지토리 서버는 별도로 현장...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.