jsp 实验13 servlet

一、实验目的

掌握怎样在JSP中使用javabean

二、实验项目内容(实验题目)

编写代码,掌握servlet的用法。【参考课本 上机实验3 】

三、源代码以及执行结果截图:

源代码:

inputIntegers.jsp:

<%@ page contentType="text/html" %>

<%@ page pageEncoding = "utf-8" %>

<style>

   #tom{

      font-family:宋体;font-size:26;color:blue

   }

</style>

<HTML><body bgcolor=#ffccff>

<p id=tom>

<form action="handleForward" id =tom  method=post>

<br>输入整数,用逗号或非数字字符分隔:<br>

<textArea name="number" id =tom rows=3 cols=32 ></textArea><br>

<input type=submit name = "submit" id =tom value="提交(personOne的分析)"/><br>

<input type=submit name = "submit" id=tom  value="提交(personTwo的分析)"/>

</form>

</p></body></HTML>

web.xml:

<?xml version="1.0" encoding="utf-8"?>

<web-app>

   <servlet>

       <servlet-name>handleForward</servlet-name>

       <servlet-class>moon.sun.HandleForward_Servlet</servlet-class>

   </servlet>

   <servlet-mapping>

        <servlet-name>handleForward</servlet-name>

        <url-pattern>/handleForward</url-pattern>

   </servlet-mapping>

    <servlet>

       <servlet-name>personOne</servlet-name>

       <servlet-class>moon.sun.PersonOne_Servlet</servlet-class>

   </servlet>

   <servlet-mapping>

        <servlet-name>personOne</servlet-name>

        <url-pattern>/personOne</url-pattern>

   </servlet-mapping>

    <servlet>

       <servlet-name>personTwo</servlet-name>

       <servlet-class>moon.sun.PersonTwo_Servlet</servlet-class>

   </servlet>

   <servlet-mapping>

        <servlet-name>personTwo</servlet-name>

        <url-pattern>/personTwo</url-pattern>

   </servlet-mapping>

</web-app>

HandleForward_Servlet.Java

package moon.sun;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HandleForward_Servlet extends HttpServlet{

   public void init(ServletConfig config) throws ServletException{

      super.init(config);

   }

   public void  service(HttpServletRequest request,HttpServletResponse response)

                       throws ServletException,IOException{

      RequestDispatcher dispatcher = null;

      request.setCharacterEncoding("utf-8");

      response.setContentType("text/html;charset=utf-8");

      String mess = request.getParameter("submit");

      String integers = request.getParameter("number");

      if(integers == null ||integers.length()==0) {

          response.sendRedirect("inputIntegers.jsp");

          return;

      }

      if(mess.contains("personOne")) {

          dispatcher = request.getRequestDispatcher("personOne");

          dispatcher.forward(request,response);

      }

      else if(mess.contains("personTwo")){

          dispatcher = request.getRequestDispatcher("personTwo");

          dispatcher.forward(request,response);

      }

   }

}

PersonOne_Servlet

package moon.sun;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.regex.Pattern;

import java.util.regex.Matcher;

public class PersonOne_Servlet extends HttpServlet{

   public void init(ServletConfig config) throws ServletException{

      super.init(config);

   }

   public void  service(HttpServletRequest request,HttpServletResponse response)

                       throws ServletException,IOException{

      request.setCharacterEncoding("utf-8");

      response.setContentType("text/html;charset=utf-8");

      PrintWriter out=response.getWriter();

      String integers = request.getParameter("number");

      String backMess = analysisIntegers(integers);

      out.print("<html><body><h1>"+backMess+"</body></html>");

   }

   public String analysisIntegers(String input){ 

      Pattern pattern;         

      Matcher matcher;         

      String regex="-?[0-9][0-9]*" ;

      pattern = Pattern.compile(regex); 

      matcher = pattern.matcher(input); 

      StringBuffer evenNumbers = new StringBuffer("<br>偶数:");

      StringBuffer oddNumbers  = new StringBuffer("<br>奇数:");

      while(matcher.find()) {

         String str = matcher.group();

         if(Integer.parseInt(str)%2==0){

              evenNumbers.append(str+",");

         }

         else {

              oddNumbers.append(str+",");

         }

      }

      StringBuffer buffer = evenNumbers.append(oddNumbers);

      return new String(buffer);

   }

}

PersonTwo_Servlet

package moon.sun;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.regex.Pattern;

import java.util.regex.Matcher;

public class PersonTwo_Servlet extends HttpServlet{

   public void init(ServletConfig config) throws ServletException{

      super.init(config);

   }

   public void  service(HttpServletRequest request,HttpServletResponse response)

                       throws ServletException,IOException{

      request.setCharacterEncoding("utf-8");

      response.setContentType("text/html;charset=utf-8");

      PrintWriter out=response.getWriter();

      String integers = request.getParameter("number");

      String backMess = analysisIntegers(integers);

      out.print("<html><body><h1>"+backMess+"</body></html>");

   }

   public String analysisIntegers(String input){ 

      Pattern pattern;        

      Matcher matcher;        

      String regex="-?[0-9][0-9]*" ;

      pattern = Pattern.compile(regex); 

      matcher = pattern.matcher(input);

      StringBuffer numbersZero = new StringBuffer("3的倍数:<br>");

      StringBuffer numbersOne = new StringBuffer("<br>除以31:<br>");

      StringBuffer numbersTwo = new StringBuffer("<br>除以32:<br>");

      while(matcher.find()) {

         String str = matcher.group();

         if(Integer.parseInt(str)%3==0){

              numbersZero.append(str+",");

         }

         else if(Integer.parseInt(str)%3==1){

              numbersOne.append(str+",");

         }

          else if(Integer.parseInt(str)%3==2){

              numbersTwo.append(str+",");

         }

      }

      StringBuffer buffer = numbersZero.append(numbersOne.append(numbersTwo));

      return new String(buffer);

   }

}

运行结果图:

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 10:10:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 10:10:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 10:10:02       82 阅读
  4. Python语言-面向对象

    2024-05-10 10:10:02       91 阅读

热门阅读

  1. CSS:min-width作用

    2024-05-10 10:10:02       28 阅读
  2. 自然语言处理-文本清理技术

    2024-05-10 10:10:02       31 阅读
  3. Blazor/Hybird 触屏下单程序调优笔记

    2024-05-10 10:10:02       31 阅读
  4. 组合总和 - LeetCode 热题 58

    2024-05-10 10:10:02       27 阅读
  5. [Django 0-1] Core.Serializers 模块

    2024-05-10 10:10:02       30 阅读
  6. Nvidia docker 验证HSOpticalFlow

    2024-05-10 10:10:02       36 阅读
  7. Docker安装MySQL8数据表名大小写问题

    2024-05-10 10:10:02       34 阅读
  8. C#:输出任意一个数的逆序数

    2024-05-10 10:10:02       36 阅读
  9. 一起深度学习——CIFAR10

    2024-05-10 10:10:02       39 阅读
  10. Okhttp 发送https请求,忽略ssl认证

    2024-05-10 10:10:02       31 阅读