`
yxwang0615
  • 浏览: 559117 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

struts1.2 (一)servlet的使用

阅读更多
//Controller控制页面的跳转: servlet:
public class TestServlet extends HttpServlet{
	 @Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		//super.service(req, resp);
		
		//用servlet拿到表单上的数据给业务逻辑层传参数
		String username = req.getParameter("username");
		
		//调用业务逻辑的方法获取返回值
		UserManager userManager = new UserManager();
		List userList = userManager.getUserList(username);
		
		//把该返回值转发给其他页面,注意重定向不能共享request中的数据
		req.setAttribute("List", userList);
		req.getRequestDispatcher("/a/b/b.jsp").forward(req,resp);
	}
}

//MODEL(层业务逻辑层),数据的处理UserManager:
package com.wyx.userManager;

import java.util.ArrayList;
import java.util.List;

public class UserManager {
	public List getUserList(String username)
	{
		List userlist = new ArrayList();
			
			userlist.add(username);
			userlist.add(username+123);
		
		return userlist;
	}
}

//index.jsp
  .....
<form action="servlet/TestServlet">
<p><input type="text" name="username"/></p>
<p><input type="submit" value="提交"/></p>
</form>


//VIEW层,只负责数据的显示:
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
    <%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<a href="../a.jsp">a.jsp</a>
<a href="../../c/c.jsp">c.jsp</a>
<%  List userlist = (List)request.getAttribute("List");
    out.println(userlist);
 %>
<!--在index中点提交跳转过来的结果是:[xxx, xxx123]-->

//web.xml
  <servlet>
  	<servlet-name>TestServlet</servlet-name>
  	<servlet-class>com.wyx.servlet.TestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
 	 <servlet-name>TestServlet</servlet-name>
           //url-pattern可以写成通配>/servlet/*.do
           //这里只过滤/servlet/TestServlet
 	 <url-pattern>/servlet/TestServlet</url-pattern>
  </servlet-mapping>


有两种通常的方法来定义将被controller servlet处理的url -- 前缀匹配和扩展匹配。每种方法的一个适当的映射条目将在下面被描述。 
前缀匹配意思是你想让所有以一个特别值开头(在上下文路径部分之后)的url传递给这个servlet。这样一个条目看起来能象是这样: 

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/execute/*</url-pattern>
</servlet-mapping>
他意味着一个匹配前面描述的 /logon 路径的请求的url看起来象是这样: 
http://lohost:8080/test_servlet/execute/logon
这里 /test_servlet 是你的应用程式展开所在的上下文路径。 
另一方面,扩展映射基于url以一个跟着定义的一组字符的句点结束的事实而将url匹配到action servlet 。例如,jsp处理servlet映射到 *.jsp 模式这样他在每个jsp页面请求时被调用。为了使用 *.do 扩展(他意味着“做某件事”)映射条目看起来应该象是这样: 

<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
并且一个匹配以前描述的 /logon 路径的请求的uri能看起来象是这样: 
http://localhost:8080/test_servlet/logon.do

上述方法只是实现了MVC的思想,servlet的传参数和转发是写死的.很多地方做的还不够灵活,如果用struts的MVC框架就灵活多了。
model1 model2的区别:
model2在model1的基础上讲view层中的逻辑分离出来,只负责显示数据。

分享到:
评论

相关推荐

    struts1.2驱动包

    Struts1.2驱动包是Java Web开发中一个重要的组件,它是Apache Struts框架的特定版本,用于支持基于Model-View-Controller (MVC)设计模式的应用程序开发。Struts1.2因其稳定性和广泛的功能集而在过去备受推崇,尤其在...

    struts1.2资源整合

    其次,`struts-1.2.4-lib`是一个包含Struts1.2运行所需库文件的压缩包。这个文件夹通常会包含如commons-logging、commons-beanutils、commons-digester、commons-collections、xerces等Apache Commons库,以及其他的...

    struts1.2下载包

    4. `webapps`目录:可能包含一个或多个预配置的Web应用程序,演示了Struts1.2框架的使用。 在JSP中使用Struts1.2,你需要完成以下步骤: 1. **配置Web.xml**:这是每个Servlet应用的核心配置文件,你需要在这里...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的交互;Spring2.5是一个全面的后端应用管理框架,提供了依赖注入、AOP(面向切面编程)、数据访问等服务;Hibernate3.2则是...

    struts、struts1.2 学习教程

    1. **ActionServlet**:Struts1.2使用单一的ActionServlet处理所有请求,而Struts2引入了Front Controller模式,所有的请求都由StrutsPrepareAndExecuteFilter处理。 2. **表达式语言**:Struts2使用OGNL(Object-...

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

    在Struts1.2中,这个请求会被Struts的ActionServlet捕获,ActionServlet会根据配置的Struts配置文件(struts-config.xml)来决定调用哪个Action类来处理请求。 对于包含列表的表单,用户可能需要在页面上输入多条...

    myeclipse5,tomcat5,struts1.2,servlet2.3,jsp2.0网上购物系统

    【标题】"myeclipse5,tomcat5,struts1.2,servlet2.3,jsp2.0网上购物系统" 提供了关于一个基于Java技术的电子商务平台开发的环境和框架信息。这个系统利用了MyEclipse 5作为集成开发环境(IDE),Tomcat 5作为应用...

    struts1.2 jar包

    Struts1.2是一款历史悠久且广泛使用的Java Web框架,它基于Model-View-Controller(MVC)设计模式,为开发人员提供了构建动态、数据驱动的Web应用的强大工具。该框架在2004年首次发布,是Apache软件基金会的一个项目...

    Struts 1.2 API详细讲解.rar

    这份"Struts 1.2 API详细讲解"文档很可能会涵盖这些组件的详细说明、使用示例以及最佳实践,对于想要深入学习Struts 1.2的初学者来说,是一份不可多得的学习资料。通过系统地学习和实践,你可以逐步掌握如何利用...

    struts 1.2驱动包

    Struts 1.2驱动包是Apache软件基金会开发的一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建更易于维护和管理的Web应用。Struts 1.2...

    struts1.2源码研究

    Struts 1.2 是一款基于 Model-View-Controller(MVC)设计模式的开源Java Web框架,由Apache软件基金会维护。它简化了Java Servlet API的使用,使得开发者能够更专注于业务逻辑,而不是处理HTTP请求的细节。Struts ...

    struts1.2源代码及文档

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化Web应用开发,提高开发效率,提供一套标准的方式来处理HTTP...

    struts1.2.jar包

    Struts1.2.jar包是基于Java的Web应用程序开发中的一个关键组件,它属于Apache Struts框架的一个版本。Struts是一个开源的MVC(Model-View-Controller)框架,用于构建可维护、可扩展和高度结构化的Web应用程序。在...

    struts1.2+spring2.0 登录 例子

    这个“struts1.2+spring2.0 登录例子”是一个整合了这两个框架的示例项目,旨在帮助开发者理解如何在实际应用中集成和使用它们。下面将详细阐述这两个框架的核心概念、集成方式以及登录功能的实现。 **Struts1.2...

    struts1.2随意写的小项目

    Struts1.2是一个经典的Java Web开发框架,它在2000年代中期至后期非常流行,被广泛用于构建企业级应用,特别是电子商务系统。在这个名为"ShoppingMall"的项目中,我们可以推测这是一个简单的商城购物系统,利用...

    struts1.2+hibernate开发的小项目

    Struts1.2是一个基于MVC(Model-View-Controller)模式的框架,主要用于处理用户请求和控制业务逻辑,而Hibernate则是一个对象关系映射(ORM)工具,用于简化数据库操作,将Java对象与数据库表进行映射,从而减少了...

    struts1.2-jars.rar 所有jar包

    Struts1.2 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会开发并维护。这个框架的主要目的是为了简化Web应用开发过程,提高可维护性和可扩展性。在"struts1.2-jars.rar...

    struts1.2-jars.zip

    Struts1.2-jars.zip 是一个专门为Java开发者准备的压缩包,包含了Struts1.2框架所需的多个jar文件。Struts是一个非常经典的MVC(Model-View-Controller)架构框架,它在Java Web开发中占有重要地位,尤其是在早期的...

    Struts1.2

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是...通过实际操作,可以更深入理解Struts1.2框架的工作原理和使用方法。

Global site tag (gtag.js) - Google Analytics