美文网首页
Java-Servlet基础

Java-Servlet基础

作者: 指尖轻敲 | 来源:发表于2019-01-06 00:29 被阅读4次

前面学过了在IDEA中启动一个tomcat web服务器,其中简单提到了一句如何导入Servlet包,接下学习一下怎么使用Servlet

首先先创建一个Java类,该类需要继承HttpServlet类,然后重写doGet/doPost方法,来处理get和post请求。

public class Main extends HttpServlet {
    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        System.out.println("这是一个get请求");
    }
    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {}
}

写完了处理请求的逻辑之后,我们怎么让这个类处理对应的请求呢?需要在web.xml中配置一下。<servlet>标签下就是我们对应的java类。<servlet-mapping>标签下设置我们java类要处理哪个请求,也就是请求url。

<servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>Main</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>UserServlet</servlet-name>
    <url-pattern>/userServlet</url-pattern>
</servlet-mapping>

Servlet生命周期

Servlet的生命周期大致分为三个阶段,

  • 初始化:调用init()方法

  • 处理请求:调用service()方法,service方法根据请求方式调用doGet或者doPost

  • 销毁:在服务器停止的时候执行destroy()方法。

根据请求参数跳转页面

我们重写doPost方法,通过req.getParameter方法获取请求参数进行验证,然后通过res.sendRedirect()方法实现页面的重定向。

public void doPost(HttpServletRequest req, HttpServletResponse res){
    String user = req.getParameter("user");
    String pwd = req.getParameter("pwd");
    if(user.equals("admin") && pwd.equals("admin")){
        try {
            res.sendRedirect(req.getContextPath() + "/loginSuccess.jsp");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在init方法获取初始化参数

前面说想要请求可以被对应的java代码处理,需要配置一下xml文件,其实在在xml文件中也可以配置初始值,然后在Servlet中的init方法中获取。

<servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>Main</servlet-class>
    <init-param>
        <param-name>userName</param-name>
        <param-value>admin</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
    </init-param>
</servlet>

通过getInitParameter()方法获取初试值

private String userName;
private String password;
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public void init() throws ServletException{
    this.setUserName(this.getInitParameter("userName"));
    this.setPassword(this.getInitParameter("password"));
}

相关文章

  • Java-Servlet基础

    前面学过了在IDEA中启动一个tomcat web服务器,其中简单提到了一句如何导入Servlet包,接下学习一下...

  • java-servlet

    1 如何开发一个Servlet(重点) 1.1 步骤: 1)编写java类,继承HttpServlet类 2)重新...

  • 在mac系统安装Apache Tomcat的详细步骤

    转自:http://www.himigame.com/java-servlet/845.html 什么是tomca...

  • Java-Servlet的讲解

    大家好,我是IT修真院深圳分院的学员,一枚正直善良的JAVA程序员。 1.背景介绍 Servlet(ServerA...

  • js表单验证

    数据有效性,安全性验证 3层 客户端 js脚本验证 服务端 java-Servlet 服务器语言 数据库 数据约束...

  • 机械设备安装技术

    设备基础种类及应用 垫层基础允许产生沉降:大型储罐 浅基础扩展基础联合基础:轧机独立基础 深基础桩基础:适用于需要...

  • 基础,基础,基础

    如果有人现在问我,JAVA该怎么学,我会告诉他不要急于求成,少看视频,多练,多思考。但说到这里有人可能会反...

  • 【Android】知识点汇总,坚持原创ing

    Android基础 Java基础 Java基础——Java内存模型和垃圾回收机制 语法基础 语法基础——C语法基础...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 零基础学画画从入门到放弃

    零基础应该怎么学画画?零基础那就从基础开始学啊!基础是什么?造型基础和色彩基础。 造型基础就是用点线面组成起码能让...

网友评论

      本文标题:Java-Servlet基础

      本文链接:https://www.haomeiwen.com/subject/llkdrqtx.html