/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if (mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if (mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if (!outputFile.getParentFile().exists()) {
if (!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot 注册自己的Servlet(三种方式)(源代码)
共286个文件
xml:228个
java:14个
class:11个
需积分: 10 2 下载量 125 浏览量
2023-01-27
20:26:46
上传
评论
收藏 325KB ZIP 举报
温馨提示
SpringBoot 注册自己的Servlet(三种方式)(源代码) SpringBoot 注册自己的Servlet(三种方式)(内含源代码) 方法1:使用servlet3.0规范提供的注解方式注册 Servlet 1,声明servlet及映射 2,加上@ServletComponentScan 才会扫描加了这个注解 运行结果 方法2:使用springboot提供的注册 Servlet 配置类 运行结果 方法3:动态注册: Servlet类 配置类 springboot内部绑定了嵌入式http servlet容器Jetty,主体框架基于spring,而spring除了Ioc(依赖注入)、Aop(切面)外,其它与http相关的东西都是基于Servlet和Filter的,而Servlet、Filter是servlet容器Jetty按照j2ee标准做了具体实现。目前使用Spring的,更多是在web方面,所以Spring更多的是依赖Servlet容器,哪怕是springboot擅长做独立可执行的微服务应用程序,其内部也包含一个嵌入式Jetty。
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot 注册自己的Servlet(三种方式)(源代码) (286个子文件)
MyWebMvcConfigurer.class 1KB
MyServletConfig.class 1KB
MyServlet.class 1KB
BeanServletTest.class 1KB
MyServlet.class 1KB
SpringbootServlet01Application.class 882B
SpringbootServlet03Application.class 816B
SpringbootServlet02Application.class 816B
SpringbootServlet03ApplicationTests.class 614B
SpringbootServlet02ApplicationTests.class 614B
SpringbootServlet01ApplicationTests.class 614B
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
.gitignore 333B
.gitignore 333B
.gitignore 333B
.gitignore 279B
.gitignore 279B
.gitignore 279B
springboot-servlet03.iml 9KB
springboot-servlet02.iml 9KB
springboot-servlet01.iml 9KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MyWebMvcConfigurer.java 1KB
MyServlet.java 940B
BeanServletTest.java 888B
MyServletConfig.java 751B
MyServlet.java 746B
SpringbootServlet01Application.java 454B
SpringbootServlet03Application.java 366B
SpringbootServlet02Application.java 366B
SpringbootServlet03ApplicationTests.java 249B
SpringbootServlet02ApplicationTests.java 249B
SpringbootServlet01ApplicationTests.java 249B
HELP.md 1KB
HELP.md 1KB
HELP.md 1KB
README.md 32B
README.md 32B
README.md 32B
mvnw 10KB
mvnw 10KB
mvnw 10KB
application.properties 1KB
application.properties 1KB
application.properties 1KB
application.properties 1KB
application.properties 1KB
application.properties 1KB
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
workspace.xml 4KB
workspace.xml 4KB
workspace.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
jarRepositories.xml 1KB
jarRepositories.xml 1KB
jarRepositories.xml 1KB
Maven__org_springframework_boot_spring_boot_configuration_processor_2_6_11.xml 917B
Maven__org_springframework_boot_spring_boot_configuration_processor_2_6_11.xml 917B
compiler.xml 915B
compiler.xml 915B
compiler.xml 915B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 898B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 898B
Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml 887B
Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml 887B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_11.xml 882B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_6_11.xml 882B
Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_6_11.xml 875B
Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_6_11.xml 875B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 862B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 862B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_11.xml 861B
Maven__org_springframework_boot_spring_boot_starter_logging_2_6_11.xml 861B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_3.xml 857B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_3.xml 857B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_11.xml 854B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_6_11.xml 854B
Maven__org_springframework_boot_spring_boot_configuration_processor_2_6_11.xml 848B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_11.xml 847B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_6_11.xml 847B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_3.xml 843B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_3.xml 843B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_11.xml 840B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_11.xml 840B
Maven__org_springframework_boot_spring_boot_starter_json_2_6_11.xml 840B
Maven__org_springframework_boot_spring_boot_starter_test_2_6_11.xml 840B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_11.xml 833B
Maven__org_springframework_boot_spring_boot_starter_web_2_6_11.xml 833B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_3.xml 829B
共 286 条
- 1
- 2
- 3
资源评论
FBIHackerHarry浩
- 粉丝: 3w+
- 资源: 60
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功