servlet

时间:2017-03-14 20:07:13

标签: java eclipse tomcat servlets

我正在使用ecat与tomcat这里是我的servlet,问题是当我点击名为GetStared的按钮时,它将我重定向到空的html页面,文本“surved at:myproject123”。 myproject123是eclipse IDE中我的项目的名称。

@WebServlet("/home")
public class homeServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String htmlFile = "loginPage.html";
        RequestDispatcher view = request.getRequestDispatcher(htmlFile);
        view.forward(request, response);
    }
}

这是我的html文件:名为index.html

<div class="background-wrap">
    <video id="video-bg-elem"
           preload="auto"
           autoplay="autoplay"
           loop="loop" muted="muted">
        <source src="video.mp4" type="video/mp4">
        Video not supported
    </video>
</div>
<div class="content">
    <div class="info">
        <div class="vertical_align">
            <h2>Spotify</h2>
            <output>Music for each moment.</output>
        </div>
        <div class="vertical_align2">
            <form action="home" method="GET">
                <button type="submit"
                        value="Get Started"
                        class="animated_button">
                    GET STARTED
                </button>
            </form>
        </div>
    </div>
</div>

这是loginPage.html

          

        <div class="myCirle">

            <img src="logo10.png" />
            <div class="under_logo">
                <p>Spotify.</p>
            </div>
        </div>
        <form class="form-signin" action="login" method="POST"> 
             <div class="form-input" > 
                <input type="text" name="Username" placeholder = "Enter username" />
            </div >
            <div class="form-input" > 
            <input type="password" name="Password" placeholder="Enter password" /> 
            </div >
            <div class="form-input">
            <input type="submit" name="submit" value="Sign In" class="btn-login" /><br />

            <input type="submit" name="submit" value="Sign In With Facebook" class="btn-loginFB" />
            </div>
             <div class="form-input">
             <a href="#"> Forgot password?</a>
             </div>
             <div class="form-input">
                 <input type="submit" name="submit" value="Not a spotifyier yet?" class="btn-reg" />
             </div>
             </form>
         </div> 
</body >

1 个答案:

答案 0 :(得分:0)

问题似乎是转发请求....你可以尝试这个.. request.getRequestDispatcher("/"+htmlFile); or request.getRequestDispatcher("//"+htmlFile);

是这样的,因为getRequestDispatcher()接受指向资源的链接而不是直接文件名。所以如果您的webapp中的文件像MyApp / myFile那样,那么

request.getRequestDispatcher("/myFile");

如果它在 WEB-INF 内,那么..

request.getRequestDispatcher("/WEB-INF/myFile");

依旧......