servletConfig的使用案例

servletConfig参数的使用案例

首先,建立Dynamic Web Project ,同样命名FirstServlet,然后建立Servlet:Login.java,包名为cc.openhome

做如下修改:

package cc.openhome;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

@WebServlet(   

  name="Login",   

  urlPatterns={"/login.do"},   

  initParams={    

    @WebInitParam(name = "SUCCESS", value = "success.jsp"),    

    @WebInitParam(name = "ERROR", value = "error.jsp")   

  }  

)

public class Login extends HttpServlet {  

  private String SUCCESS_VIEW;  

  private String ERROR_VIEW;

  @Override  

  public void init() throws ServletException {   

    SUCCESS_VIEW=getInitParameter("SUCCESS");   

    ERROR_VIEW=getInitParameter("ERROR");  

  }

  @Override  public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {

    response.setContentType("text/html;charset=utf-8");   

    PrintWriter out = response.getWriter();   

    String userName=request.getParameter("userName");   

    String password=request.getParameter("password");   

    if("caterpillar".equals(userName) && "123456".equals(password)){    

      request.getRequestDispatcher(SUCCESS_VIEW).forward(request, response);   

    }else{    

      request.getRequestDispatcher(ERROR_VIEW).forward(request, response);   

    }  

  }

  .......//其余代码不赘述

}

先在WEB-INF下的web.xml内添加欢迎界面:

<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

然后在WebRoot路径下,新建两个jsp页面,success.jsp和error.jsp。在这两个页面<body>内分别添加,<h1>登录成功!</h1>和<h1>登录失败!</h1>

在index.jsp添加如下内容:

<form method="post" action="<%=path%>/login.do">
     <table>
     <tr><td>用户名:</td><td><input type="text" name="userName" value=""/></td></tr>
     <tr><td>密码:</td><td><input type="password" name="password" value=""/></td></tr>
     <tr><td><input type="submit" value="登录"/></td><td></td></tr>
     </table>
</form>

启动tomcat,打开浏览器,输入http://localhost:8080/FirstServlet/然后测试即可

至于@WebServlet中的内容,也可以卸载WEB-INF下的web.xml内,这样会覆盖掉webServlet内的初始参数:

<servlet>
   <servlet-name>Login</servlet-name>
   <servlet-class>cc.openhome.Login</servlet-class>
   <init-param>
    <param-name>SUCCESS</param-name>
    <param-value>success.jsp</param-value>
   </init-param>
   <init-param>
    <param-name>ERROR</param-name>
    <param-value>error.jsp</param-value>
   </init-param>
  </servlet>

<servlet-mapping>
   <servlet-name>Login</servlet-name>
   <url-pattern>/login.do</url-pattern>
</servlet-mapping>

posted @ 2015-04-22 13:36  碧波寒  阅读(431)  评论(0编辑  收藏  举报