Javaweb 第一个Servlet例子

Java代码嵌入HTML中有两种方式
1、直接在HTML文档中写JSP代码,服务器底层会将其编译成一个Java类,服务器将Java类运行的结果插入到HTML中,返回给客户端。服务器端只能看到Java类运行的结果,而看不见源码。这种文件为 .jsp 文件。
例如:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    out.println("欢迎使用JSP");
%>
</body>
</html>

2、独立于HTML的Servlet类,这个类继承自HttpServlet。通过配置web.xml 文件,当有表单提交到特定的页面时,这个Servlet类将会实例化,并且根据表单的提交方式调用 doGet( ) 或 doPost( ) 方法。在方法里我们可以获取out,request,response,session,application等JSP内置对象。

接下来是第一个servlet例子,该例子为:输入个人信息,通过servelt类获取,并且输出(实际上在这里可以对你获取的信息做任何处理,就与内嵌的Jsp相同)。

一、新建Jsp文件,创建表单form

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Servlet</title>
  </head>
  <body>
  <form action="Servlet/Servlet1" method="POST">
    用户名:<input type="text" name="username"> <br>
    邮 箱:<input type="text" name="email" > <br>
    地 址:<input type="text" name="address"> <br>
    简 历: <br>
    <textarea name="resume" id="" cols="30" rows="10"></textarea>
    <input type="submit">
  </form>
  </body>
</html>

在这里, action=“Servlet/Servlet1” 指定表单提交的位置只是一个路径并不是具体的Jsp页面,所以后续需要在web.xml中配置相关信息,当跳转到该路径时,实例化Servlet类对表单提交进行处理。

二、新建Servlet类

在这里插入图片描述
这里的Servlet1类就是我们的Servlet类。

package Servlet;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class Servlet1 extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        
//        设置编码信息
        response.setCharacterEncoding("GBK");
//        获取表单信息
        String username = request.getParameter("username");
        String email = request.getParameter("email");
        String address = request.getParameter("address");
        String resume = request.getParameter("resume");

//        获取out对象,进行输出
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello world</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("用户名:"+username+"<br>");
        out.println("邮 箱:"+email+"<br>");
        out.println("地 址:"+address+"<br>");
        out.println("简 历:"+resume+"<br>");
        out.println("</body>");
        out.println("</html>");
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
        doGet(request,response);
    }
}

三、配置web.xml

表单在提交位置为项目路径,所以需要进行配置,当客户端对该路径进行请求时,实例化Servlet类对表单的提交进行处理。

配置servlet:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>Servlet.Servlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/Servlet/Servlet1</url-pattern>
    </servlet-mapping>
    
</web-app>

四、运行结果

1、index.jsp页面
在这里插入图片描述

2、Servlet1运行结果
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值