1.在web.xml中
<filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2.在loginUser.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <center> <form action="loginUser.action" method="get"> userName <input name="user.username" type="text" /> <br> passWord <input name="user.pwd" type="password" /> <br> <input type="submit" value="Submit" /> </form> </center> </body> </html>
3.在zx.struts2.day1.entity包中写User.java实体类
package zx.struts2.day1.entity; public class User { private String username; private String pwd; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
4.在zx.struts2.day1.dao包中写UserDao接口定义方法
package zx.struts2.day1.dao; import java.util.List; import zx.struts2.day1.entity.User; public interface UserDao { public List<User> findAll(); }
5.在zx.struts2.day1.dao.impl包中写UserDao的实现类UserDaoImpl
package zx.struts2.day1.dao; import java.util.ArrayList; import java.util.List; import zx.struts2.day1.entity.User; public class UserDaoImpl implements UserDao { @Override public List<User> findAll() { List<User> lists = new ArrayList<User>(); User u1 = new User(); u1.setUsername("haoren"); u1.setPwd("123"); User u2 = new User(); u2.setUsername("calm"); u2.setPwd("123"); User u3 = new User(); u3.setUsername("jerry"); u3.setPwd("123"); lists.add(u1); lists.add(u2); lists.add(u3); return lists; } }
6.在LoginUserAction中extends ActionSupport
package zx.struts2.day1.action; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.interceptor.ServletRequestAware; import zx.struts2.day1.entity.User; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class LoginUserAction extends ActionSupport implements ServletRequestAware { private User user;// User对象 public String execute() { ActionContext ctx=ActionContext.getContext(); //向request对象中添加数据 ctx.put("name", "requestScope"); ctx.put("uname", user.getUsername()); //向Session对象中添加数据 ctx.getSession().put("name", "sessionScope"); //向ServletContext对象(application)中添加数据 ctx.getApplication().put("name","applicationScope"); System.out.println("name=="+user.getUsername()+" : "+"pwd==="+user.getPwd()); if ("haoren".equals(user.getUsername()) && "250".equals(user.getPwd())) { return SUCCESS; } else { return "error"; } } public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub } }
7.在struts.xml文件中
<struts> <package name="day1Demo" namespace="/" extends="struts-default"> <action name="loginUser" class="zx.struts2.day1.action.LoginUserAction"> <result name="success">/ok.jsp</result> <result name="error">/err.jsp</result> </action> </package> </struts>
发表评论
-
struts2day06 自定义结果
2012-07-16 12:14 673类implements Result接口 或者 extends ... -
struts2day06 Struts2.0的result
2012-07-16 12:01 950Struts2.0的result Action ... -
struts2day06学习笔记
2012-07-16 10:55 8521.new String(xxx.getBytes(),&qu ... -
struts2day05异常处理
2012-07-13 23:13 834Struts2.0的异常处理机制 1.什么是异常?软件在 ... -
Struts2day05学习笔记
2012-07-13 22:19 6761.自定义拦截器 1.im ... -
Struts2day04Struts2.0文件的下载
2012-07-13 08:26 6761.写一个Action,在DownloadAction ext ... -
Struts2day04Struts2.0文件的上传
2012-07-13 08:20 6501、在服务器端提供一个文件夹存放提交的文件,upload文件夹 ... -
Struts2day04Struts2.0实现阻止表单重复提交
2012-07-12 21:01 6231.使用叫做token的拦截器,在表单中加入<s:tok ... -
Struts2day04对Action的方法进行过滤拦截
2012-07-12 20:38 17811.写一个Action类 UserManagerAction ... -
Struts2day04判断用户是否登录
2012-07-12 19:37 8691.在拦截器中获得用户登录的session 在LoginC ... -
Struts2day04测试程序的执行效率,拦截器栈,在Action中覆盖拦截器的属性值
2012-07-12 18:58 11861.在LoginAction.java中,extends Ac ... -
Struts2学习笔记day04
2012-07-12 00:31 6201.自定义类型转换 1.写一个类 extends S ... -
Struts2day03Struts2.0提供的数据格式校验
2012-07-11 21:52 716Struts2.0提供的数据格式校验 js校验:存在被 ... -
Struts2day03Struts2.0国际化
2012-07-11 21:09 764Struts2.0国际化 B/S结构中为网页提供多国 ... -
Struts2day03OGNL自定义类型转换
2012-07-11 20:47 806Struts2.0框架不能够或者不能完整的进行自动类型转换 ... -
Struts2学习笔记day03
2012-07-11 19:09 9481.值栈:ValueStack,存储数 ... -
Struts2day02多个对象提交
2012-07-10 07:15 1188在listUser.jsp页面 <%@ page la ... -
Struts2day02表单标签
2012-07-10 07:15 6661.在struts2Form.jsp中 <%@ ... -
struts2day02访问ValueStack中的数据以及访问Context中的对象
2012-07-10 07:14 10471.在show.jsp页面 <%@ page lang ... -
Struts2day02动态方法调用
2012-07-10 07:14 6521.在opt.jsp页面 <%@ page langu ...
相关推荐
在"day06"这个文件夹中,很可能包含了第六天学习的Struts2相关源代码和示例。这些示例可能涵盖了Action的创建、配置文件的编写、拦截器的使用、结果类型的配置以及OGNL表达式的实践等。通过这些代码,初学者可以逐步...
本篇将深入探讨Struts2的基础开发知识,以帮助你更好地理解和应用这个强大的框架。 一、Struts2框架基础 1. **MVC模式**:MVC模式是软件工程中的一种设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑...
在这个"Struts2项目案例"中,我们可以通过学习和实践来深入理解Struts2框架如何与数据库进行交互。 首先,让我们详细了解Struts2的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑处理的主要载体。...
根据给定的文件信息,我们可以总结出以下关于Struts2框架的重要知识点: ...通过以上知识点的学习和实践,可以更好地理解和掌握Struts2框架的核心概念和技术细节,从而在实际项目开发中更加高效地使用该框架。
- 最终,视图层会显示给用户,此时可以通过Struts2提供的Taglib(标签库)来访问ValueStack中的数据。 ### Struts2拦截器 **知识点概述:** 拦截器(Interceptor)是Struts2框架中的一个重要组成部分,用于增强...
Struts2框架是Java Web开发中的一个重要组成...每个`dayX.zip`文件可能对应课程的第X天内容,逐步深入地学习和实践Struts2的各个知识点。通过这些资料,开发者可以系统地学习并掌握Struts2框架,提升Java Web开发技能。
综上所述,Struts2是一个强大的MVC框架,通过配置文件控制应用的流程,使用Servlet作为前端控制器,Action类处理业务逻辑,模型类封装数据。理解并熟练掌握Struts2的配置、控制器和数据模型对于开发Java Web应用至关...
1. **整合 Struts 2 和 Spring 2**:配置 Struts 2 的 Action 类以利用 Spring 的依赖注入,实现控制器层的解耦。通过 Spring 的 ContextLoaderListener 初始化 Spring 容器,并将 Struts 2 的 Action 实例交由 ...
Struts 是一个经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理HTTP请求,实现MVC(Model-View...通过这个实例,开发者可以深入理解Struts的工作流程,同时也能学习到如何将后端数据有效地呈现给用户。
- 面向对象编程(Object-Oriented Programming, OOP):Java是一种纯面向对象的语言,一切皆为对象,理解类、对象、封装、继承、多态等概念至关重要。 - 逻辑思维与面向对象思想:在编写代码时,需具备良好的逻辑...
3. **ActionForm**:ActionForm类用于封装用户在表单中提交的数据,它对应于模型层中的数据实体。开发者可以根据需要创建ActionForm子类,并定义相应的属性和getter/setter方法。 4. **ActionForward**:Action...
其中,Hibernate作为数据持久化工具,以其强大的对象关系映射(ORM)能力,极大地简化了数据库操作。今天,我们将聚焦于Hibernate的学习,通过一系列的学习资料,包括“day01”、“day02”、“day03”和“day04”,...
Hibernate是一个开源的对象关系映射(ORM)框架,其基本概念是将Java对象映射到数据库表中,实现...同时,Hibernate以其轻量级的特点、高性能的映射能力和灵活的配置方式,成为了Java EE开发中常用的持久层框架之一。
【标题】"day12_javaweb_javascript_day12-xml_energy7fo_" 提供的资源包主要涵盖了JavaWeb开发中的JavaScript和XML技术,是作者个人学习过程中的一个阶段性的总结,虽然标注为“day2”,但可以推测整个系列应该包含...
3. 分页模型设计:在Java中,我们可以创建一个Page对象,包含当前页数、每页大小、总页数和数据列表等属性,用于封装分页信息。在处理分页逻辑时,这个对象可以方便地在前后端之间传递。 4. JSP或HTML渲染:前端...
Spring框架是一款开源的Java平台应用框架,以其轻量级的特点被广泛应用于企业级应用开发中。Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)。它通过...
多态则是指同一种行为在不同对象上有不同的表现形式,增强了程序的灵活性。 【Se上&Se下】 这部分内容可能指的是Java标准版(Java SE)的上半部分和下半部分。Java SE包括了Java的基础库,如集合框架、IO流、多线程...
在这个章节,Day01可能会介绍OOP的基本概念,如封装、继承和多态。Day02可能进一步讲解类和对象的创建,包括构造方法和成员变量。Day03会涉及访问修饰符(public, private, protected, default)以及方法的定义。Day...