`
阅读更多
package com.pan;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyFirstServlet extends HttpServlet {

/**
* Servlet执行流程
web服务器接受到一个http请求后,web服务器会将请求移交给servlet容器,
servlet容器首先对所请求的URL进行解析并根据web.xml 配置文件找到相应的处理servlet,
同时将request、response对象传递给它,servlet通过request对象可知道客户端的请求者、
请求信息以及其他的信息等,servlet在处理完请求后会把所有需要返回的信息放入response对象中并返回到客户端,
servlet一旦处理完请求,servlet容器就会刷新response对象,并把控制权重新返回给web服务器。
一定不能定义成局部变量
servlet是单列的
*/
public MyFirstServlet() {
super();
System.out.println("MyFirstServlet()构造 ");
}

/**
* Destruction of the servlet. <br>
*/
public void init() throws ServletException {
               System.out.println("init() 初始化");
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
   // 请求转发和重定向的区别:
/* 突破点是 request的作用域的问题。
  * 转发 request作用域的值没有改变所以能取得值  URL 不会改变
  * 重定向 request作用域的值失效了。 URL 发生改变
  * Request Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址
  * response.sendRedirect("success.jsp");方法不仅可以重定向到当前应用程序中的其他资源,
  * 还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源  
  */
response.setContentType("text/html");
System.out.println(request.getContextPath());//  /MyServlet
request.setAttribute("panh", "潘鹤");
   // 得到请求参数
    String password=request.getParameter("password");
    String username=request.getParameter("username");
   
    System.out.println(password);
    System.out.println(username);
//返回到页面
    request.setAttribute("password", password);
    request.setAttribute("username", username);
   
   
   
// 请求转发送  返回值是  潘鹤 在request作用域里 所以值能取得到。
request.getRequestDispatcher("/success.jsp").forward(request, response);
//  重定向 返回页面是 null 因为重定向 内部是发送两次请求 所以 request里面的值会丢失
//  response.sendRedirect("success.jsp"); 
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.service(req, res);
}
    
public void destroy() {
System.out.println("servlet生命周期结束 destroy() ");

}

}

---------success.jsp------------------------------------------
                 <table>
  <%= request.getAttribute("panh") %>
  <%= request.getAttribute("password") %>
  <%= request.getAttribute("username") %>
</table>
----------reg.jsp  ----------------------------------------------
<body>
     <form action="xx.do" method="POST">
      <input  type="text" name="username" />
      <input  type="text" name= "password"/>
      <input  type="submit" values="登录" />
     </form>
  </body>
分享到:
评论

相关推荐

    MyFirstServlet.zip

    这表示访问`/myfirstservlet`时,会调用`MyFirstServlet`。 5. **Servlet生命周期**: Servlet经历初始化、服务、销毁三个阶段。初始化阶段,Servlet容器加载Servlet类并调用`init()`方法;服务阶段,每次接收到...

    培训资料_servlet

    public class MyFirstServlet extends HttpServlet { public MyFirstServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, ...

    JBoss安装配置.ppt

    编译`MyFirstServlet.java`,生成`MyFirstServlet.class`文件,将其放在`test`文件夹下。 4. **部署Step 4** 创建一个`web.xml`文件,这是部署描述符,用于配置Servlet。以下是`web.xml`的内容: ```xml ...

    javaWEB总结(1):第一个servlet程序

    public class MyFirstServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 实现业务逻辑 response....

    用继承servlet接口的方式手动开发servlet

    public class MyFirstServlet implements Servlet { // 初始化方法 public void init(ServletConfig config) throws ServletException { // 初始化操作 } // 获取Servlet配置信息 public ServletConfig ...

    JBoss 的安装与部署

    2. **编写与编译Servlet**:编写一个简单的Servlet,如MyFirstServlet,包含在名为test的包内。记得在编译之前将javax.servlet.jar添加到系统路径,以便能够导入servlet相关的库。 3. **Servlet示例代码**: ```...

    Springboot初级阶段.doc

    @WebServlet(name="MyFirstServlet", urlPatterns="/myFirst") public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ...

    第一个servlet开发全过程

    此时会弹出一个对话框,在其中输入Application Name为“MyfirstServlet”,DirectoryName设为`&lt;工作目录&gt;\MyfirstServlet`,然后点击确定按钮完成简单应用的创建。 3. **设置项目属性**:接着,在简单应用程序...

    簡易的JBoss安裝與部署

    2. **编写和编译Servlet**:在`classes`文件夹中,创建一个Java源文件(如`MyFirstServlet.java`),实现`javax.servlet.HttpServlet`接口。确保你的开发环境包含`javax.servlet`相关的jar文件,这通常可以通过设置`...

    Servlet学习开发登录页面实例源码

    在这个登录页面实例中,我们可能有一个名为`MyFirstServlet`的Servlet类,它是对`javax.servlet.http.HttpServlet`的子类。`MyFirstServlet`将覆盖`doGet`或`doPost`方法,因为HTTP请求通常通过GET或POST方式发送。...

    如何运行Servlet程序

    在上面的 web.xml 文件中,我们配置了一个 Servlet 的别名为 ServletTest,映射 URL 为 /test 和 /test1,并指定了 Servlet 类路径为 MyFirstServlet。 调用 Servlet 程序 要调用 Servlet 程序,需要在地址栏中...

    手动整合struts2+spring3.

    - 在`src`目录下创建一个名为`MyFirstServlet.java`的文件,编写简单的Servlet代码。 - 编写完成后,在`WEB-INF`目录下使用`javac`命令编译该文件到`classes`目录。 4. **配置web.xml** - 在`WEB-INF`目录下的`...

    jsp面试考题

    &lt;a href="/servlet/MyFirstServlet"&gt; ``` 当点击该超链接时,哪个Servlet方法会被调用? - `doGet()` - `doGET()` - `doPost()` - `doPOST()` **正确答案:** - `doGet()` **解析:** - 默认情况下,超链接会...

    JavaScript初级教程(第四课)第1/2页

    JavaScript中的数组是编程中至关重要的数据结构,尤其在处理列表或集合数据时。在本教程的第四课中,我们将深入理解数组的概念及其使用方法。 数组是一种特殊的变量,它能够存储多个值,这些值可以是任意类型,包括...

    详解Servlet3.0新特性(从注解配置到websocket编程)

    &lt;servlet-name&gt;myFirstServlet &lt;servlet-class&gt;Test.myServlet &lt;servlet-name&gt;myFirstServlet &lt;url-pattern&gt;/aaa 而在 Servlet 3.0 中,我们可以使用注解配置,取代混乱的 web.xml 全局配置。例如,我们可以...

Global site tag (gtag.js) - Google Analytics