diff --git a/Test20-Thymeleaf1/src/main/java/org/sang/CustomServletContainer.java b/Test20-Thymeleaf1/src/main/java/org/sang/CustomServletContainer.java index c6ac930c..3966ef37 100644 --- a/Test20-Thymeleaf1/src/main/java/org/sang/CustomServletContainer.java +++ b/Test20-Thymeleaf1/src/main/java/org/sang/CustomServletContainer.java @@ -15,7 +15,7 @@ public class CustomServletContainer implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { - container.setPort(8080); + container.setPort(8443); container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/404.html")); container.setSessionTimeout(10, TimeUnit.MINUTES); } diff --git a/Test20-Thymeleaf1/src/main/java/org/sang/Test20Thymeleaf1Application.java b/Test20-Thymeleaf1/src/main/java/org/sang/Test20Thymeleaf1Application.java index 35f1065b..5d3bd911 100644 --- a/Test20-Thymeleaf1/src/main/java/org/sang/Test20Thymeleaf1Application.java +++ b/Test20-Thymeleaf1/src/main/java/org/sang/Test20Thymeleaf1Application.java @@ -1,61 +1,71 @@ package org.sang; +import org.apache.catalina.Context; +import org.apache.catalina.connector.Connector; +import org.apache.tomcat.util.descriptor.web.SecurityCollection; +import org.apache.tomcat.util.descriptor.web.SecurityConstraint; import org.sang.bean.Person; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; +import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; import java.util.List; + @Controller @SpringBootApplication public class Test20Thymeleaf1Application { - public static void main(String[] args) { - SpringApplication.run(Test20Thymeleaf1Application.class, args); - } + public static void main(String[] args) { + SpringApplication.run(Test20Thymeleaf1Application.class, args); + } + + @RequestMapping("/") + public String index(Model model) { + Person single = new Person("aa", 11); + List people = new ArrayList<>(); + Person p1 = new Person("zhangsan", 11); + Person p2 = new Person("lisi", 22); + Person p3 = new Person("wangwu", 33); + people.add(p1); + people.add(p2); + people.add(p3); + model.addAttribute("singlePerson", single); + model.addAttribute("people", people); + return "index"; + } + + @Bean + public EmbeddedServletContainerFactory servletContainer() { + TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { + @Override + protected void postProcessContext(Context context) { + SecurityConstraint constraint = new SecurityConstraint(); + constraint.setUserConstraint("CONFIDENTIAL"); + SecurityCollection collection = new SecurityCollection(); + collection.addPattern("/*"); + constraint.addCollection(collection); + context.addConstraint(constraint); + } + }; + tomcat.addAdditionalTomcatConnectors(httpConnector()); + return tomcat; + } - @RequestMapping("/") - public String index(Model model) { - Person single = new Person("aa", 11); - List people = new ArrayList<>(); - Person p1 = new Person("zhangsan", 11); - Person p2 = new Person("lisi", 22); - Person p3 = new Person("wangwu", 33); - people.add(p1); - people.add(p2); - people.add(p3); - model.addAttribute("singlePerson", single); - model.addAttribute("people", people); - return "index"; - } -// @Bean -// public EmbeddedServletContainerFactory servletContainer(){ -// TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(){ -// @Override -// protected void postProcessContext(Context context) { -// SecurityConstraint constraint = new SecurityConstraint(); -// constraint.setUserConstraint("CONFIDENTIAL"); -// SecurityCollection collection = new SecurityCollection(); -// collection.addPattern("/*"); -// constraint.addCollection(collection); -// context.addConstraint(constraint); -// } -// }; -// tomcat.addAdditionalTomcatConnectors(httpConnector()); -// return tomcat; -// } -// @Bean -// public Connector httpConnector(){ -// Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); -// connector.setScheme("http"); -// //Connector监听的http的端口号 -// connector.setPort(8081); -// connector.setSecure(false); -// //监听到http的端口号后转向到的https的端口号 -// connector.setRedirectPort(8080); -// return connector; -// } + @Bean + public Connector httpConnector() { + Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); + connector.setScheme("http"); + //Connector监听的http的端口号 + connector.setPort(8080); + connector.setSecure(false); + //监听到http的端口号后转向到的https的端口号 + connector.setRedirectPort(8443); + return connector; + } } diff --git a/Test20-Thymeleaf1/src/main/resources/application.properties b/Test20-Thymeleaf1/src/main/resources/application.properties index 0739e448..25c5d568 100644 --- a/Test20-Thymeleaf1/src/main/resources/application.properties +++ b/Test20-Thymeleaf1/src/main/resources/application.properties @@ -4,8 +4,9 @@ # #server.tomcat.uri-encoding=UTF-8#配置Tomcat编码,默认为UTF-8 #server.tomcat.compression=on#Tomcat是否开启压缩,默认为关闭 +#-storetype 选项指定密钥仓库类型 #keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 -#server.ssl.key-store=keystore.p12 -#server.ssl.key-store-password=111111 -#server.ssl.keyStoreType=PKCS12 -#server.ssl.keyAlias:tomcat +server.ssl.key-store=keystore.p12 +server.ssl.key-store-password=111111 +server.ssl.keyStoreType=PKCS12 +server.ssl.keyAlias:tomcat \ No newline at end of file