【问题标题】:How do I run Spring Boot Servlet pages如何运行 Spring Boot Servlet 页面
【发布时间】:2016-11-24 08:55:08
【问题描述】:

Spring 启动 Maven 应用程序能否以下面这种粗略的方式运行 servlet 页面。所以我可以使用

来构建如下所示的大量不同页面
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("</head>");
        out.println("<body>");
        out.println("</body>");
        out.println("</html>");

这可能吗

如果您单击上面的链接,您可以查看其他文件

感谢大家的帮助

package com.example;

import java.io.IOException;
import java.io.PrintWriter;
import static java.lang.System.out;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = {"/servlet"})
public class servlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
    {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) 
        {
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Title</title>");
            out.println("<meta charset=\"UTF-8\"><style>.inputlogout {background:transparent;border: 0px;color: white;padding: 0px;margin: 0px;font-size: 10px;transition: all ease .5s;-webkit-font-smoothing: antialiased;}.inputlogout:hover{color:#CD6600;cursor:pointer;}#loginform{position:absolute;top:6px;right:240px;}</style>");
            out.println("</head>");
            out.println("<body>");
            out.print("<div>");
                try 
                {
                        Connection connection = getConnection();
                        Statement stmt = connection.createStatement();
                        String sql;
                        sql = "SELECT id, header, desc, time FROM preview";
                        ResultSet rs = stmt.executeQuery(sql);
                        System.out.print(sql);
                        while(rs.next())
                        {
                                String id = rs.getString("id");
                                String header = rs.getString("header");
                                String desc = rs.getString("desc");
                                String time = rs.getString("time");
                                out.print("<div>");
                                out.print(id);
                                out.print("</div>");
                                out.print("<div>");
                                out.print(header);
                                out.print("</div>");
                                out.print("<div>");
                                out.print(desc);
                                out.print("</div>");
                                out.print("<div>");
                                out.print(time);
                                out.print("</div>");
                        }
                }catch(Exception e){e.printStackTrace();} 
            }

            out.println("</div>");
            out.println("</body>");
            out.println("</html>");

        }

/*Database Connection*/
    private static java.sql.Connection getConnection() throws URISyntaxException, SQLException {
        URI dbUri = null;
        if(System.getenv("DATABASE_URL") != null) {
            dbUri = new URI(System.getenv("DATABASE_URL"));
        }else {
            String DATABASE_URL;
            DATABASE_URL = "postgres://username:password@ec2-46-137-73-65.eu-west-1.compute.amazonaws.com:5432/database";
            dbUri = new URI(DATABASE_URL);
        }

        String username = dbUri.getUserInfo().split(":")[0];
        String password = dbUri.getUserInfo().split(":")[1];
        String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':'
                + dbUri.getPort() + dbUri.getPath()
                + "?sslmode=require";
                /*Connection connection = DriverManager.getConnection(
                "jdbc:postgresql://localhost:5432/userdb?sslmode=require",
                "ubuntu",
                "ubuntu");*/
        return DriverManager.getConnection(dbUrl, username, password);
    }

}

【问题讨论】:

    标签: java maven servlets heroku spring-boot


    【解决方案1】:

    1.您需要将基于 servlet 的应用程序迁移到 Spring MVC(Spring Boot 使用 Spring MVC

    参考这个migration guide

    0.在此之前,请阅读此excellent Step-by-Step tutorial (Spring MVC) 供初学者使用。

    【讨论】:

    • 好的,太好了。稍后我回家时会查看该教程。谢谢一百万
    • 嗨。我已经按照您的两个链接描述的方式构建了应用程序。 @RequestMapping("/") public String home(Model model) { 然后在末尾做东西的方法 model.addAttribute{"blabla", varaible}; return htmlpage } HTML PAGE th:text${stuff pass through} 这和上面没有什么不同。我问我可以像上面那样使用spring boot ..你看到页面是使用out.println {“html stuff”};当场打印出来的方式; out.println{"html 的东西" + java_variable};以上就是我想要的工作方式这可能吗?谢谢
    【解决方案2】:

    如果您想基于此示例进行开发,我可以这样运行:

    mvn package
    java -jar target/heroku-spring-boot-psql-0.0.1-SNAPSHOT.jar
    

    然后在浏览器中打开http://localhost:8080

    另一个选项是mvn spring-boot:run

    【讨论】:

      猜你喜欢
      • 2020-08-19
      • 2015-02-25
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2016-12-01
      相关资源
      最近更新 更多