JavaWeb - 【Filter】表单显示

作者:神秘网友 发布时间:2020-10-31 20:04:55

JavaWeb - 【Filter】表单显示

JavaWeb - 【Filter】表单显示
  • 需求分析
  • 程序设计
    • MyFilter
    • index.jsp
    • product_input.jsp
      • < table >
    • product_details.jsp
  • 效果测试

一:需求分析

JavaWeb - 【Filter】表单显示

二:程序设计

1> MyFilter

package xyz.xx.filter;

import org.apache.commons.beanutils.BeanUtils;
import xyz.xx.pojo.Product;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;

@WebFilter("/*")
public class MyFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) servletRequest;
        String servletPath = req.getServletPath();
        String path = null;

        if("/product-input.action".equals(servletPath)){
            path = "/WEB-INF/pages/product_input.jsp";
        }else if("/product-save.action".equals(servletPath)){
            path = "/WEB-INF/pages/product_details.jsp";
            Product p1 = new Product();
            try {
                BeanUtils.populate(p1,req.getParameterMap());
            } catch (IllegalAccessException | InvocationTargetException e) {
                e.printStackTrace();
            }
            p1.setProductId(10012);
            servletRequest.setAttribute("product",p1);
        }

        if(path!=null) {
            servletRequest.getRequestDispatcher(path).forward(servletRequest, servletResponse);
        }
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {

    }
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
      <a href="product-input.action">商品录入</a>
  </body>
</html>

product_input.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="product-save.action" method="post">
    <table>
        <tr>
            <td>ProductName:</td>
            <td><input type="text" name="productName"></td>
        </tr>
        <tr>
            <td>ProductDesc:</td>
            <td><input type="text" name="productDesc"></td>
        </tr>
        <tr>
            <td>ProductPrice:</td>
            <td><input type="text" name="productPrice"></td>
        </tr>
        <tr>
            <td colspan="2"><input style="width:100%;height:30px" type="submit" value="Submit"></td>
        </tr>
    </table>
</form>
</body>
</html>

product_details.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <style type="text/css">
        table{
            width: 600px;
            text-align: center;
            border: red 1px solid;
            border-collapse: collapse;
        }
        tr,th,td{
            border: red 3px solid;
            border-collapse: collapse;
        }
    </style>
</head>
<body>
    <table align="center">
        <tr>
            <th>ProductId</th>
            <th>ProductName</th>
            <th>ProductDesc</th>
            <th>ProductPrice</th>
        </tr>
        <tr>
            <td>${requestScope.product.productId}</td>
            <td>${requestScope.product.productName}</td>
            <td>${requestScope.product.productDesc}</td>
            <td>${requestScope.product.productPrice}</td>
        </tr>
    </table>
</body>
</html>

三:效果测试

JavaWeb - 【Filter】表单显示





JavaWeb - 【Filter】表单显示

JavaWeb - 【Filter】表单显示相关教程

  1. JavaWeb案例(一):使用response对象下载文件

    JavaWeb案例(一):使用response对象下载文件 web服务器接收到客户端的http请求,就会针对这个请求,分别创建一个代表请求的 HttpServletRequest 对象,代表响应的 HttpServletResponse 对象。 如果获取客户端请求过来的参数:找HttpServletRequest 如果要给客

  2. element-ui 解决 table 里包含表单验证的问题!

    element-ui 解决 table 里包含表单验证的问题! 其实问题关键就在于如何给el-form-item动态绑定prop :prop='tableData.' + scope.$index + '.字段名' :rules='model.rules.name template div v-bgb-block div style=margin-top:10px; el-form :rules=model.ru

  3. bootstrap文件上传表单样式

    bootstrap文件上传表单样式 在用这个样式之前我们要准备两个资源包,分别是fileinput.css和fileinput.js将他们导入到项目中,同时还要导入jQuery link rel=stylesheet href=./css/fileinput.css script src=./js/jquery-1.11.3.min.js/script script src=./js

  4. javaweb---一个简单的web应用p59

    javaweb---一个简单的web应用p59 %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8%!DOCTYPE htmlhtmlheadmeta charset=UTF-8titleInsert title here/title/headbodykkkkkkkkk/body/html

  5. 正则表达式

    正则表达式 一、应用场景 (1)验证:表单提交时,进行用户名密码的验证。 (2)查找:从大量信息中快速提取指定内容,在一批url中,查找指定url。 (3)替换:将指定格式的文本进行正则匹配查找,找到之后进行特定替换。 二、基本要素 (1)字符类 (2)数量

  6. JavaWeb - 【Filter】敏感词过滤

    JavaWeb - 【Filter】敏感词过滤 过滤器细节 执行流程 生命周期( 项目部署 ) 拦截路径 拦截方式 从文件中获取敏感词清单 将所有敏感词替换为*** 动态代理( 设计模式 ) 一:过滤器细节 二:从文件中获取敏感词清单 ListString sensitiveWordsList = new Ar

  7. linux内核协议栈 netfilter 之 ip 层的table、rule、match、targ

    linux内核协议栈 netfilter 之 ip 层的table、rule、match、target结构分析 在使用iptables过程中,经常会提到table、rule、match和target,这些在内核都有对应的数据结构(rule并没有对应结构体),在理解内核的逻辑代码之前,非常有必要先熟悉这些数据结构

  8. JavaWeb-JSP知识点详细总览

    JavaWeb-JSP知识点详细总览 JSP JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传 统的网页HTML文件(