写了一个简单的servlet转发,供大家参考下。
jsp页面:
<body>
<form id="form1" name="form1" method="post" action="servlet/com.test.A">
<input name="name" type="text" id="name" />
<input type="submit" name="Submit" value="提交" />
</form>
</body>
-----------------
servlet/com.test.A表示com.test.A负责处理页面的请求,
----------------------------------------------------
下面的类TtServlet 负责处理转发
package com.test;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TtServlet extends HttpServlet {
public void init(ServletConfig arg0) throws ServletException {
super.init(arg0);
}
@Override
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
this.service(arg0, arg1);
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String clazz = request.getRequestURI();
String[] clazzs = clazz.split("/");
IServlet servlet = (IServlet)Class.forName(clazzs[clazzs.length-1]).newInstance();
servlet.service(request, response,this.getServletContext());
} catch (Exception e) {
e.printStackTrace();
}
}
private String getRequestURI(HttpServletRequest arg0) {
return arg0.getRequestURI();
}
}
--------------------------------------------------------
IServlet接口定义处理页面的需求,这个类里面可以用sendRedirect或者forward
package com.test;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface IServlet {
public void service(HttpServletRequest request, HttpServletResponse response,ServletContext sc) throws ServletException, IOException;
}
---------------------------------------
A类实现了IServlet接口,真正处理页面的请求
package com.test;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class A implements IServlet{
private static final String CONTENT_TYPE= "text/html;charset=GB2312 ";
public void service(HttpServletRequest request, HttpServletResponse response,ServletContext sc) throws ServletException, IOException{
request.setCharacterEncoding("gbk");
response.setContentType(CONTENT_TYPE);
response.getWriter().write("com.test.A!");
RequestDispatcher rd = sc.getRequestDispatcher("/servlet/com.test.B");
System.out.println("BBBBBBBBBBBBBBBB");
rd.forward(request,response);
System.out.println("CCCCCCCCCCCCCCCCCCCCCCcc");
System.out.println("testB");
}
}
-----------------------------------------------------------------------------
以上的类可以实现jsp+javabean编程中解决jsp代码乱的问题
分享到:
相关推荐
【Tomcat下Servlet的配置】涉及的是在Apache Tomcat服务器上部署和运行Servlet的基本步骤,这对于初学者来说是一项重要的技能。Servlet是Java编程语言中用于扩展服务器功能的接口,常用于构建动态web应用。 首先,...
接下来,我们将详细介绍Web应用的目录结构,这对于理解如何配置Servlet至关重要。 1. **`WEB-INF`目录**: - **描述**:这是Web应用中最安全的目录,不允许直接通过HTTP访问。 - **子目录**: - **`classes`**:...
这个过滤器在`doFilter()`方法中检查每个请求的目标URL(`request.getRequestURI()`),如果目标URL在预定义的`includes`列表中,就使用`RequestDispatcher`的`forward()`方法将请求转发给相应的Servlet处理。...
Servlet 应用与配置详解 在本篇资源摘要中,我们将详细介绍 Servlet 应用的基本原理和配置过程,以帮助初学者更好地理解和掌握 Servlet 技术。在本文中,我们将从 Servlet 的基本概念、接口、生命周期、配置文件、...
这篇文档主要介绍了Servlet的入门配置,包括Tomcat服务器的安装、JavaWeb项目的创建、Servlet类的编写以及如何部署到Tomcat上。以下是对这些内容的详细说明: 1. **下载安装Tomcat服务器** - Tomcat是由Apache软件...
在`Tomcat服务器配置-Servlet.xml.doc`文件中,你可能会找到关于`server.xml`的详细内容,这是Tomcat的主要配置文件,包含了各种服务组件的定义。例如,你可以修改`Connector`元素来改变HTTP服务的端口号,或者添加...
接下来需要配置一个Servlet,使得它能够被调用,并且能够通过JNDI获取到数据源连接。 1. **添加Servlet映射和定义**:在`tomcat/conf/web.xml`文件中添加Servlet的映射和定义。 ```xml <servlet> <servlet-name>...
当你遇到“找不到javax.servlet.*”这样的错误时,通常是因为你的项目缺少了这个库,所以需要引入`javax.servlet.jar`来解决问题。 1. **Java Servlet简介** Java Servlet是Java平台上的一个标准,用于扩展服务器...
在"java零基础自学 之 Servlet 1-4课时"的课程中,我们将深入探讨以下几个关键知识点: 1. **Servlet简介**:Servlet是一个Java类,它扩展了服务器的功能,使得开发者可以编写代码来处理客户端(如浏览器)发送的...
在OSGi中,我们可以通过一个名为“Servlet容器”的模块来管理Servlet,这个容器负责调度请求并将其分发到相应的Servlet。 2. **选择Servlet容器** 在OSGi中,常见的Servlet容器有Apache Felix,Equinox,Karaf等。...
Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类。Web 应用程序开发人员通常编写 Servlet 来扩展 javax.servlet.http.HttpServlet,并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求。
- `<servlet>`:用于配置一个Servlet实例。 - `<servlet-mapping>`:用于映射Servlet到特定的URL模式。 #### 示例分析 下面是对给定示例代码的详细解析: ```xml xmlns="http://java.sun.com/xml/ns/javaee"...
这也意味着,listener、filter 和 servlet 可以使用 context-param 配置节提供的上下文信息。 listener 配置节 ----------------- listener 配置节用于定义事件监听程序,它可以在应用程序生命周期中的特定事件...
- 创建Servlet类:首先,我们需要创建一个实现了javax.servlet.Servlet接口的类,这是所有Servlet的基础。 ```java public class MyServlet extends HttpServlet { // 实现Servlet方法 } ``` - 提供Bundle ...
在"Servlet01:jsp结束,servlet的配置和生命周期"这个主题中,我们将讨论以下几个关键知识点: 1. **Servlet简介**:Servlet是Java类,遵循Servlet接口,用于扩展服务器的功能,特别是Web服务器。它们可以接收和...
在这个文件中,可以配置 Servlet 的名称、类路径、映射的 URL 等。在上面的代码中,配置了一个名为 MyServlet 的 Servlet,其类路径为 com.rj182.servlet.MyServlet,并将其映射到 /MyServlet 这个 URL 上。 三、...
Servlet 注解和 IDEA 与 Tomcat 相关配置 Servlet 注解是 J2EE5 ...在实际开发中,Servlet 注解和 web.xml 配置文件可以同时使用,但注解中的 urlPattern 和 web.xml 的 urlPattern 不能相同,如果相同,部署会失败。
标题“SpringBoot之配置嵌入式Servlet容器.pdf”透露了文档的核心内容,主要讲解了在SpringBoot框架中如何配置和使用嵌入式Servlet容器。SpringBoot作为一个广泛使用的Java框架,它的一个显著优势就是能快速搭建项目...
在这个例子中,我们创建了一个名为`HelloServlet`的Servlet。它继承自`HttpServlet`类,并覆盖了`service()`方法。当用户请求与Servlet关联的URL时,`service()`方法会被调用。在`service()`方法中,我们使用`...
用注解的方式定义一个Servlet,就不用在web.xml中配置了。Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。 像上面的AnnotationServlet可以描述成@WebServlet(name="Annotation...