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>

最新文章

  1. Mysql - 游标/动态sql/事务
  2. sharepoint列表如何进行随机取几条记录?
  3. 项目中必须知道的关于CSS+DIV的常识
  4. NPOI 教程 - 3.2 打印相关设置
  5. Spring MVC 学习笔记(整理)
  6. ★ Linked List Cycle II -- LeetCode
  7. 第四课 Grid Control实验 GC Agent安装(第一台机器部署) 及卸载
  8. Swift - 几种使用数组的数据存储模型
  9. Spring4 MVC 多文件上传(图片并展示)
  10. Android锁定EditText内容和随机生成验证码
  11. old linkedin profile
  12. MAC上配置asp.net core开发环境
  13. python之pyqt4的简单窗口布局以及信号和槽(上代码)
  14. 重排序、hb、ConcurrentHashMap弱一致性(jdk1.6)
  15. 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
  16. 1.7Oob方法的作用
  17. Python的字符串内建函数(字符串处理)
  18. JAVA项目之苹果IAP内购JAVA服务器验证流程详解
  19. Navi.Soft31.WebMVC框架(含示例地址)
  20. Laravel JsonResponse数组获取

热门文章

  1. eclipse/idea批量替换空白行
  2. k8s dockerk个人学习(2)
  3. MySQL--常见ALTER TABLE 操作
  4. Oracle:Decode在时间范围中的使用
  5. revit API 生成墙图元
  6. CDN、浏览器缓存
  7. php 两种短网址生成方法
  8. 注意字符串的strlen与sizeof的差别
  9. 【shell】sed命令
  10. War包反编译过程