Commit 5d430b18 authored by 陈灵敏's avatar 陈灵敏
Browse files

Initial commit

parents
No related merge requests found
Showing with 293 additions and 0 deletions
+293 -0
package com.chenlm.demo;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
import javax.servlet.ServletException;
public class TomcatDemo {
public static void main(String[] args) throws LifecycleException, ServletException {
Tomcat tomcat = new Tomcat();
String baseDir = Thread.currentThread().getContextClassLoader().getResource("webapps").getPath();
System.out.println(baseDir);
tomcat.setBaseDir(baseDir);
tomcat.setPort(9999);
tomcat.addWebapp("/", baseDir);
tomcat.enableNaming();
tomcat.start();
tomcat.getServer().await();
}
}
<%--
Created by IntelliJ IDEA.
User: Chenlm
Date: 2020/3/7
Time: 11:34
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
web-inf page hello.jsp
<% System.out.println("jsp 打印") ;%>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<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_3_0.xsd"
id="WebApp_ID"
version="3.0">
<filter>
<filter-name>helloFilter</filter-name>
<filter-class>com.chenlm.demo.HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>helloFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.chenlm.demo.HelloServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>helloJsp</servlet-name>
<servlet-class>com.chenlm.demo.HelloJspServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>helloJsp</servlet-name>
<url-pattern>/hellojsp</url-pattern>
</servlet-mapping>
</web-app>
<%--
Created by IntelliJ IDEA.
User: Chenlm
Date: 2020/3/7
Time: 11:34
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
hello jsp
<% System.out.println("jsp 打印") ;%>
</body>
</html>
rootProject.name = 'java-demo'
include 'socket-http'
include 'spring-boot-demo'
include 'servlet-demo'
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.19'
}
File added
File added
File added
File added
File added
File added
File added
File added
Manifest-Version: 1.0
package com.chenlm.demo;
import java.sql.*;
public class DBTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/springdemo?characterEncoding=utf8&useSSL=false&serv" +
"erTimezone=UTC&rewriteBatchedStatements=true&allowMultiQueries=true", "root", "1234");
PreparedStatement preparedStatement = connection.prepareStatement("select * from user_entity");
ResultSet resultSet = preparedStatement.executeQuery();
System.out.println(resultSet);
connection.close();
}
}
package com.chenlm.demo;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Test {
}
class SingleThreadBIO {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress(9999));
System.out.println("server started..");
while (true) {
Socket socket = serverSocket.accept();
byte[] bytes = new byte[1024];
socket.getInputStream().read(bytes);
System.out.println(Thread.currentThread().getName());
System.out.println(new String(bytes));
OutputStream outputStream = socket.getOutputStream();
outputStream.write(("HTTP/1.1 200 \r\n" +
"Server: nginx/1.8.1\r\n" +
"Date: Thu, 05 Mar 2020 05:42:08 GMT\r\n" +
"Content-Type: text/html\r\n\r\n" +
"<html><head></head><body>hello</body></html>").getBytes());
outputStream.flush();
outputStream.close();
socket.close();
}
}
}
class MultiThreadBIO {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress(9999));
System.out.println("server started..");
while (true) {
Socket socket = serverSocket.accept();
new Thread(new Runnable() {
@Override
public void run() {
OutputStream outputStream = null;
try {
byte[] bytes = new byte[1024];
socket.getInputStream().read(bytes);
System.out.println(Thread.currentThread().getName());
outputStream = socket.getOutputStream();
outputStream.write(("HTTP/1.1 200 \r\n" +
"Server: nginx/1.8.1\r\n" +
"Date: Thu, 05 Mar 2020 05:42:08 GMT\r\n" +
"Content-Type: text/html\r\n\r\n" +
"<html><head></head><body>hello</body></html>").getBytes());
outputStream.flush();
} catch (Exception e) {
} finally {
try {
if (null != outputStream) {
outputStream.close();
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
}
}
}).start();
}
}
}
class ThreadPoolBIO {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress(9999));
System.out.println("server started..");
ExecutorService executorService = Executors.newFixedThreadPool(10);
while (true) {
Socket socket = serverSocket.accept();
executorService.submit(
new Runnable() {
@Override
public void run() {
OutputStream outputStream = null;
try {
byte[] bytes = new byte[1024];
socket.getInputStream().read(bytes);
System.out.println(Thread.currentThread().getName());
outputStream = socket.getOutputStream();
outputStream.write(("HTTP/1.1 200 \r\n" +
"Server: nginx/1.8.1\r\n" +
"Date: Thu, 05 Mar 2020 05:42:08 GMT\r\n" +
"Content-Type: text/html\r\n\r\n" +
"<html><head></head><body>hello</body></html>").getBytes());
outputStream.flush();
} catch (Exception e) {
} finally {
try {
if (null != outputStream) {
outputStream.close();
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
}
}
}
);
}
}
}
plugins {
id 'org.springframework.boot' version '2.2.5.RELEASE'
id 'groovy'
}
apply plugin: 'io.spring.dependency-management'
ext {
lombokversion = "1.18.12"
spockVersion = "1.2-groovy-2.4"
}
dependencies {
testImplementation 'com.h2database:h2:1.3.166'
testImplementation "org.dbunit:dbunit:2.5.1"
testImplementation 'org.codehaus.groovy:groovy-all:2.4.4'
testImplementation group: 'junit', name: 'junit', version: '4.12'
testImplementation "org.spockframework:spock-core:${project.ext.spockVersion}"
testImplementation "org.spockframework:spock-spring:${project.ext.spockVersion}"
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'com.github.janbols:spock-dbunit:0.4'
testImplementation 'org.dbunit:dbunit:2.5.1'
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.19'
compileOnly "org.projectlombok:lombok:${project.ext.lombokversion}"
annotationProcessor "org.projectlombok:lombok:${project.ext.lombokversion}"
testCompileOnly "org.projectlombok:lombok:${project.ext.lombokversion}"
testAnnotationProcessor "org.projectlombok:lombok:${project.ext.lombokversion}"
}
test {
afterTest { desc, result ->
logger.quiet "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
}
testLogging {
showStandardStreams = true
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment