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>

servletConfig的使用案例的更多相关文章

  1. 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例

    EL应用      自定义一个标签,实现两个字符串的相加 1回顾      1.1servlet生命周期           init(ServletConfig)           service ...

  2. Servlet入门和ServletConfig、ServletContext

    Servlet是一门用于开发动态web资源的技术. 若想开发一个动态web资源,需要完成以下2个步骤: 1)编写一个Java类,实现servlet接口: 2)把开发好的Java类部署到web服务器中. ...

  3. ServletConfig与ServletContext对象(接口)

    ServletConfig:封装servlet的配置信息. 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. <ser ...

  4. 小谈-—ServletConfig对象和servletContext对象

    一.servletContext概述 servletContext对象是Servlet三大域对象之一,每个Web应用程序都拥有一个ServletContext对象,该对象是Web应用程序的全局对象或者 ...

  5. AJAX应用【股票案例】

    股票案例 我们要做的是股票的案例,它能够无刷新地更新股票的数据.当鼠标移动到具体的股票中,它会显示具体的信息. 我们首先来看一下要做出来的效果: 服务器端分析 首先,从效果图我们可以看见很多股票基本信 ...

  6. AJAX应用【股票案例、验证码校验】

    一.股票案例 我们要做的是股票的案例,它能够无刷新地更新股票的数据.当鼠标移动到具体的股票中,它会显示具体的信息. 我们首先来看一下要做出来的效果: 1.1服务器端分析 首先,从效果图我们可以看见很多 ...

  7. Servlet(八):ServletContext对象和ServletConfig对象

    ServletContext 对象:问题: Request 解决了一次请求内的数据共享问题,session 解决了用户不同请求的数据共享问题,那么不同的用户的数据共享该怎么办呢?解决: 使用 Serv ...

  8. 自定义MVC实现登录案例

    MVC框架: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离 ...

  9. servletConfig的应用

    在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,web容器在创建servlet实例对象 ...

随机推荐

  1. 20155229 2016-2017-2 《Java程序设计》第五周学习总结

    20155229 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章: Java中所有错误都会被打包为对象. 设计错误对象都继承自java.lang.Th ...

  2. 新建Android一个项目-菜鸟篇

    ①打开Eclipse,单击菜单栏的“File”->把鼠标光标移动到“New”->在弹出的列表框中,如果直接能看到“Android Applicaion Project”选项项,则直接单击此 ...

  3. 从dfs向动态规划过渡

    据说每一个dfs,都能用动态规划思想做出来. 首先要明白dfs与动态规划的一些小要点   1)dfs重在通过使用递归来使用不同的选择,通过使用形参的改变实现不同情景的改变(形参既包括了代价,又包含了结 ...

  4. Linux的getrlimit与setrlimit系统调用

    转自:http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html 功能描述:获取或设定资源使用限制.每种资源都有相关的软硬限制,软限制是 ...

  5. Eclipse使用前准备(转)

    Eclipse的发布流程 M1  08/19/2009      M2     09/30/2009     M3     11/11/2009     M4     12/16/2009     M ...

  6. signal()信号操作

    一.函数描述 #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, s ...

  7. Zxing图片拉伸解决 Android 二维码扫描

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/aaawqqq/article/details/24852915  二维码扫描  Android Zx ...

  8. C#:消息队列应用程序

    Carl NolanMicrosoft Corporation 摘要:本文概述一种用于处理若干消息队列的 Windows 服务解决方案,重点介绍 .NET 框架和 C# 应用程序. 下载 CSharp ...

  9. PythonWeb开发教程(一),开发之前需要准备什么

    什么是web开发呢,其实就是开发一个网站了.那开发网站需要用到哪些知识呢 1.python基础,因为用python开发的,所以python指定要会,最起码你也得会条件判断,循环,函数,类这些知识: 2 ...

  10. FastAdmin 开发环境详细设置

    一图胜千言 FastAdmin开发环境 Windows 网页安装 鼠标点点就可以了,不用说明. 命令行安装 环境准备 装有 Windows 7 的PC .(这是一句废话,不用理这句.) 服务器软件 A ...