我嘗試從Java .NET過來,想要做一個簡單的頁面,執行以下操作:爪哇 - 的IntelliJ社區Maven的Web應用程序
- 實現的RESTful API
- 連接到MySQL數據庫
- 實現安全
基於角色的我嘗試了Eclipse的,但並沒有取得很大的成功,再加上相比VS2017代碼完成是非常緩慢的。所以我正在嘗試IntelliJ社區。我構建了一個Maven項目,但是我的URL沒有運行,看起來我沒有在我的.java文件中獲得任何代碼完成。它沒有自動構建應用程序目錄。
我POM:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.johnnytest.webapp</groupId>
<artifactId>jerseyexample</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>jerseyexample Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>snapshot-repository.java.net</id>
<name>Java.net Snapshot Repository for Maven</name>
<url>https://maven.java.net/content/repositories/snapshots/</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.26</version>
</dependency>
</dependencies>
<build>
<finalName>jerseyexample</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/</url>
<!--<username>joe</username>-->
<!--<password>joe</password>-->
</configuration>
</plugin>
</plugins>
</build>
</project>
我的web.xml:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.johnnytest.app</param-value>
<load-on-startup>1</load-on-startup>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
我的Java文件:
package com.johnnytest.app;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@Path("/test")
public class MainApp {
@GET
@Path("/{param}")
public Response getMessage(@PathParam("param") String message) {
String output = "Jersey says " + message;
return Response.status(200).entity(output).build();
}
}
而且它的運行Tomcat 7,和我已經安裝了9我的系統。有什麼辦法讓它在我現有的Tomcat安裝上運行?當我轉到localhost:8080上的任何URL時,我只是在Safari中獲得一個空白頁面。在OSX Sierra上運行。
在單個問題中,這是太多的問題。你需要保持專注。如果您有intellij問題,您可能無法正確導入項目到intellij,並應參考他們的文檔在https://www.jetbrains.com/help/idea/maven.html – Deadron
這裏只有一個問題,我如何得到它在我現有的Tomcat 9上安裝?我只是告訴你細節並告訴你我想做什麼。 ASP.NET Core允許我在VS中進行幾次點擊即可完成所有這些工作,儘管它默認運行MSSQL LocalDb而不是MySQL。我正在尋找與Java相同的MVC分離問題。這是可行的,還是我不應該期待Java來製作webapps? –