測試Maven構建的Web項目

在上一篇博客裏介紹瞭如何使用Maven構建一個Web項目,這裏寫一個簡單的Servlet,測試一下。

1.在pom.xml裏面添加Servlet的依賴。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.carson.demo</groupId>
  <artifactId>test01</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>test01 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.9</version>
      <scope>test</scope>
    </dependency>
    <!-- 添加Servlet -->  
    <dependency>    
        <groupId>javax.servlet</groupId>    
        <artifactId>servlet-api</artifactId>    
        <version>3.0-alpha-1</version>    
        <scope>provided</scope>    
    </dependency> 
  </dependencies>
  <build>
    <finalName>test01</finalName>
  </build>
</project>

2.在src/main/java下,新建一個Servlet。

package com.carson.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class UserServlet
 */
@WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public UserServlet() {
       
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request,response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");  
        response.setContentType("text/html;charset=utf-8");  
          
        String username = request.getParameter("username"); 
        String password = request.getParameter("password"); 
        System.out.println("name->" + username + ",password->" + password);  
        if("admin".equals(username) && "123456".equals(password)) { 
            request.getRequestDispatcher("index.jsp").forward(request , response);  
        } else{  
            response.sendRedirect("login.jsp");  
        }  
	}

}<strong>
</strong>
3.修改web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <javaee:display-name>Archetype Created Web Application</javaee:display-name>
  <!-- 使用annotation不需要再配置 -->
  <!-- <servlet>  
    <servlet-name>UserServlet</servlet-name>  
    <servlet-class>com.carson.servlet.UserServlet</servlet-class>  
  </servlet>
    
  <servlet-mapping>  
    <servlet-name>UserServlet</servlet-name>  
    <url-pattern>/userServlet</url-pattern>  
  </servlet-mapping>  -->
  
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
</web-app>
4.新建JSP

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>登錄界面</title>  
    </head>  
      
    <body> 
<form action="userServlet" method="post"> 
<table>
<tr>
<td>用戶名:</td>
<td><input type="text" name="username" /> </td>
</tr>
<tr>
<td>密碼:</td>
<td><input type="text" name="password" /> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登錄" />
<input type="reset" value="重置" /></td>
</tr>
</table>
</form>
    </body>  
</html>  
index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>Hello Maven</title>  
    </head>  
      
    <body>  
        <p>大家好,歡迎進入Maven Web應用!</p>  
    </body>  
</html>  
5.測試



項目結構如下所示:


最後說一句,使用Servlet的annotation引入@WebServlet("/userServlet")報javax.servlet.annotation.WebServlet找不到包。

解決方法:右擊項目名--buildpath--add library--Server runtime改爲tomcat7.0。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章