Javaweb 第一个Servlet例子

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

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Titletitle>
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>Servlettitle>
  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类

Javaweb 第一个Servlet例子_第1张图片
这里的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("");
        out.println("");
        out.println("Hello world");
        out.println("");
        out.println("");
        out.println("用户名:"+username+"
"
); out.println("邮 箱:"+email+"
"
); out.println("地 址:"+address+"
"
); out.println("简 历:"+resume+"
"
); out.println(""); out.println(""); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { doGet(request,response); } }

三、配置web.xml

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

配置servlet:
Javaweb 第一个Servlet例子_第2张图片


<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>Servlet1servlet-name>
        <servlet-class>Servlet.Servlet1servlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>Servlet1servlet-name>
        <url-pattern>/Servlet/Servlet1url-pattern>
    servlet-mapping>
    
web-app>

四、运行结果

1、index.jsp页面
Javaweb 第一个Servlet例子_第3张图片

2、Servlet1运行结果
Javaweb 第一个Servlet例子_第4张图片

你可能感兴趣的:(JavaWeb,Java)