`

Java web页面form提交请求转发forward到web页面

阅读更多
Java web实现jsp页面的form表单提交forward到jsp页面

1. 创建一个用于提交的jsp页面

myLogin.jsp

<form action="ValidateServlet">
    username: <input type="text" name="username" id="username1"><br>
    password: <input type="password" name="password" id="password1"><br>
    re-password: <input type="password" name="repassword" id="repassword1"><br>
<input type="submit" value="submit">


2. 创建处理请求的servlet,使用请求转发request.getRequestDispatcher("success.jsp").forward(request,response);

ValidateServlet.java

package com.andrew.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ValidateServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String repassword = req.getParameter("repassword");
        List<String> list = new ArrayList<String>();
        if(null == username || "".equals(username)){
            list.add("username can't be blank!");
        }
        if(password == null || password.length() < 6 || password.length() > 10) {
            list.add("length of password should be between 6 and 10");
        }
        if(repassword == null || repassword.length() < 6 || repassword.length() > 10) {
            list.add("length of repassword should be between 6 and 10");
        }
        if(password != null && repassword != null && !password.equals(repassword)) {
            list.add("password and repassword not the same");
        }
        if(list.isEmpty()){
            req.setAttribute("username", username);
            req.setAttribute("password", password);
            req.getRequestDispatcher("success.jsp").forward(req, resp);
        } else {
            req.setAttribute("error", list);
            req.getRequestDispatcher("error.jsp").forward(req, resp);
        }
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        this.doGet(req, resp);
    }
}


3. 在web.xml文件中配置servlet

web.xml

<servlet>
    <servlet-name>ValidateServlet</servlet-name>
    <servlet-class>com.andrew.servlet.ValidateServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ValidateServlet</servlet-name>
    <url-pattern>/ValidateServlet</url-pattern>
</servlet-mapping>


4. 创建成功和失败页面用于跳转

success.jsp

This is my success JSP page. <br>
username: <%= request.getAttribute("username") %><br>
password: <%= request.getAttribute("password") %>


error.jsp

This is my error JSP page. <br>
<h1> login failed</h1>
<% List<String> list = (List<String>)request.getAttribute("error"); 
for(String str : list){
out.println(str + "<br>");
}%>


5. 启动tomcat执行页面提交

This is my error JSP page. 
login failed
length of password should be between 6 and 10
length of repassword should be between 6 and 10

This is my success JSP page. 
username: ABC
password: 1234567
分享到:
评论

相关推荐

    Java web 打印,Java pdf打印,Java打印

    - **Action类**: 在Struts框架中,Action类负责处理用户的请求,执行相应的业务逻辑,并返回一个ActionForward对象,指定视图层显示哪个JSP页面或者重定向到其他资源。 ### 三、Java PDF打印技术原理及实现 在Java...

    java web 标签大全

    - `&lt;jsp:forward&gt;`:将请求转发给另一个页面。 - `&lt;jsp:param&gt;`:传递参数给被包含或转发的页面。 - `&lt;jsp:useBean&gt;`:实例化或查找JavaBean。 - `&lt;jsp:setProperty&gt;`:设置JavaBean的属性。 4. Struts2标签库 ...

    java_web_Login

    如果验证通过,通常会使用`RequestDispatcher`的`forward()`方法将控制权转到显示欢迎信息的页面,这可能是`forward.jsp`或`forward2.jsp`。 3. **Servlet**: 虽然未明确提及,但JSP通常与Servlet一起工作,...

    jsp ssh mvc java web j2ee网络商城+论文+源码 购物系统网页设计

    6. Java Web开发:Servlet的生命周期,HTTP请求和响应处理,会话管理,过滤器和监听器的应用。 7. J2EE平台:EJB(Enterprise JavaBeans)的类型,JMS(Java Message Service)消息传递,JTA(Java Transaction API...

    java Web 中相对路径绝对路径问题总结

    在Java Web开发中,理解和掌握相对路径与绝对路径的运用是至关重要的,因为这直接影响到资源定位、页面跳转以及文件读写等操作的正确性。以下是对Java Web中相对路径与绝对路径问题的深入总结: ### 一、路径概念与...

    Java网络编程 JAVA web开发实例讲解 第08章 用Struts完善宠物商城的catalog模块(共37页).ppt

    - `&lt;action&gt;`元素定义Action,包括其路径(path),类(class)和转发(forward)到的JSP页面。 - `&lt;form-beans&gt;`元素定义ActionForm,每个ActionForm对应一个类。 - `&lt;global-forwards&gt;`定义全局的页面转发,...

    Struts框架结构的Java Web开发技术基础与实践教程》上

    - **ActionForward**:控制请求的转发路径,决定请求处理后应跳转到哪个JSP页面。 - **Tiles**:Struts的一个扩展,允许开发者创建可重用的页面片段,提高视图的复用性和可维护性。 **3. Struts配置** - **struts...

    Java Web类

    Java Web 类是关于 Java 语言在 Web 开发中的应用,涉及到 Servlet、JSP、CGI 等技术。下面是对该类的一些知识点的总结: 1. Servlet 的生命周期 Servlet 的生命周期包括了实例化、初始化、服务和销毁四个阶段。...

    Java_Web标签大全.zip_java web_javaweb标签大全

    例如,`&lt;jsp:include&gt;`用于在运行时动态包含一个文件,`&lt;jsp:forward&gt;`则可以将请求转发到另一个资源。 5. Struts2标签库 Struts2框架提供了丰富的标签库,如`s:property`、`s:form`、`s:submit`等,这些标签简化...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    jsp_html_web_实现页面跳转

    2. **表单提交跳转**:在`&lt;form&gt;`标签中设置`action`属性为目标页面,提交表单时会跳转到该页面: ```html &lt;form action="targetPage.html" method="get"&gt; 提交"&gt; &lt;/form&gt; ``` 三、结合JSP与HTML 在实际应用...

    JSP之使用jsp:forward实现用户信息验证的页面跳转

    `jsp:forward`元素是JSP中的一种动作标签,用于将请求转发到另一个页面,而不是生成一个新的HTTP请求。这在处理用户登录、注册等场景时尤其有用,因为它可以避免用户信息在URL中暴露,提高安全性。本篇文章将深入...

    编写一个web的计算器页面

    在本文中,我们将深入探讨如何使用JavaServer Pages(JSP)技术来编写一个Web计算器页面,实现基本的加、减、乘、除功能。JSP是Java平台上的动态网页开发技术,它允许开发者将HTML代码与Java代码混合,以便在服务器...

    struts1.2 from表单提交包含list的对象

    处理完业务逻辑后,Action会决定跳转到哪个JSP页面来显示结果,这通常通过返回一个ActionForward来实现。 关于源码层面,我们可以查看Struts的`org.apache.struts.action.RequestProcessor`类,它是处理请求的核心...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA_SSH_WEB相关配置文件方法

    在JSP页面中,表单提交的`action`属性应指向Servlet的URL映射,如`&lt;form method="get" action="LoginConf"&gt;`。 3. Struts 1配置 Struts 1是一个MVC框架,用于处理用户请求和业务逻辑。在`web.xml`中,我们需要配置...

    ch4.zip_web登录_web登录页面

    在JSP页面中,我们可以使用动作指令`&lt;jsp:include&gt;`或`&lt;jsp:forward&gt;`来处理登录请求,或者直接在页面中写入Java代码进行处理。服务器端会检查用户名和密码是否匹配数据库中的记录。如果匹配,用户将被认证并可能...

    编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。

    在这个例子中,Servlet会接收到inputNumber.jsp提交的表单数据,计算矩形的周长和面积,然后将结果保存在HttpServletResponse对象中,以便转发到showResult.jsp。 ```java import javax.servlet.*; import javax...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

Global site tag (gtag.js) - Google Analytics