一 使用工具开发struts有两种方式
1 用工具引入struts包和配置文件,然后自己配置struts-config.xml,完成开发。或称半自动化。
2 完全依赖myeclipse提供的工具完成struts开发。或称全自动化。
二 实例——半自动化实现登录验证系统
1 使用工具建立web工程
2 导入struts开发包
自动引入struts开发包,自动生成struts-config.xml以及web.xml,并完成一些配置。
3 开发login.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<form action="/strutstool1/login.do" method="post">
u:<input type="text" name="username"><br/>
p:<input type="password" name="password"><br/>
<input type="submit" value="login">
</form>
</body>
</html>
4 开发action和actionForm
LoginAction代码
package com.cakin.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.cakin.forms.UserForm;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//把form转成对应的UserForm对象
UserForm userForm=(UserForm)form;
if("123".equals(userForm.getPassword())){
//把名字存放到request对象域
//request.setAttribute("username", userForm.getUsername());
return mapping.findForward("ok");
}
else{
return mapping.findForward("err");
}
}
}
UserForm代码
package com.cakin.forms;
import org.apache.struts.action.ActionForm;
public class UserForm extends ActionForm {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
System.out.println("actionservlet调用,传入用户"+username);
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
5 手动配置struts-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd";>
<struts-config>
<form-beans>
<form-bean name="userForm" type="com.cakin.forms.UserForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/login" name="userForm" type="com.cakin.actions.LoginAction">
<forward name="ok" path="/WEB-INF/ok.jsp"></forward>
<forward name="err" path="/WEB-INF/err.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.cakin.struts.ApplicationResources" />
</struts-config>
6 开发ok.jsp和err.jsp
<%@ page language="java" import="java.util.*" import="com.cakin.forms.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'wel.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
welcome <%=((UserForm)session.getAttribute("userForm")).getUsername() %> <br>
<a href="/strutslogin/">返回重新登录</a>
</body>
</html>
7 测试
8 上面的开发过程,可以提高我们的开发效率
相关推荐
"办公室半自动化JBOA"是一个基于JAVA技术的办公自动化管理系统,简称为JBOA。这个系统巧妙地利用了SSH(Struts2、Spring、Hibernate)框架,这是一套广泛应用于企业级应用开发的开源技术栈。Struts2作为MVC(模型-...
2. **Spring与Mybatis整合**:Mybatis是一个半自动化的持久层框架,提供了与数据库交互的接口。整合后,Spring可以通过工厂模式和反射机制,配合Mybatis的SqlSessionFactory来创建SqlSession,进而实现数据库的CRUD...
Ibatis通过SqlSession接口与数据库进行通信,提供了与ORM(对象关系映射)类似的半自动化操作,但又保持了对SQL的直接控制,兼顾灵活性和效率。 在"Ibatis+Spring+Struts"的集成中,通常会使用Spring来管理Ibatis的...
MyBatis通过简单的XML配置或注解来定义这种映射关系,实现了对对象与数据库之间映射的半自动化处理。 ##### 4.4 MyBatis环境搭建 - **准备阶段**:首先需要准备好数据库环境,例如根据提供的`smbms_db.sql`脚本创建...
同时,它与ORM(对象关系映射)框架不同,不完全屏蔽数据库操作,提供了一种半自动化的数据访问方式。 **Spring** 是一个全面的企业级应用开发框架,提供了IOC(Inversion of Control,控制反转)和AOP(Aspect-...
本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...
它需要程序员自己去写 SQL 语句,不像 Hibernate 那样是完全面向对象的,自动化的,iBatis 是半自动化的,通过表和对象的映射以及手工书写的 SQL 语句,能够实现比 Hibernate 等更高的查询效率。 Struts 框架架构图...
JEECG的出现,为开发者提供了一种半自动化的快速开发方式,大幅提升了开发效率,并且通过减少重复的机械编码工作,让开发者可以更多地关注于业务逻辑和系统设计。 JEECG的主要技术架构是基于Struts2、Spring3、...
MyBatis则是半自动化ORM框架,允许开发者直接编写SQL语句。 6. **前端技术**:在Java Web应用中,前端通常会用到HTML、CSS和JavaScript,构建用户界面。Bootstrap或jQuery等库可以提高开发效率。随着前后端分离的...
- **iBatis**(现称为MyBatis):作为一款半自动化的ORM框架,允许开发者自定义SQL语句,提高灵活性。 这种组合不仅降低了各个组件间的耦合度,还提高了代码的可维护性和可扩展性。 #### 二、框架结构详解 ##### ...
- **MyBatis**:采用半自动化的方式,需要手动编写SQL语句,并将其与实体类进行映射。这种方式使得开发者能够更加灵活地控制SQL语句的执行,同时也能够更好地利用数据库特性。 2. **性能比较**: - **Hibernate**...
- MyBatis:半自动化的ORM框架,提供更灵活的数据访问层处理。 - SpringMVC:Spring框架的一部分,用于构建基于MVC设计模式的应用程序。 - **JavaScript、CSS、jQuery、HTML、Servlet、JSP**:前端技术栈的熟练...
为提高效率,可以结合自动化工具进行半自动化审计,但需要注意误报问题,确保审计结果的准确性。同时,安全人员应筛选出关键的漏洞报告,为研发团队提供清晰的修复指导。 自动化Java代码审计时,需要注意以下几点:...
3. **系统设计目标**:本系统旨在满足学生日常借阅的同时,也能满足专家教授的特殊需求,实现图书馆管理的半自动化和智能化。它将提供系统信息设置、读者信息管理、图书信息管理以及借还书操作等功能,确保管理的...
- **框架介绍**:Struts2相比Struts1有更多现代化特性,而iBatis(现名MyBatis)则是一种半自动化的ORM工具,允许开发者在保持一定灵活性的同时享受ORM带来的便利。 4. **Spring + Struts1/2 + 任意DAO层的...
通过对现有手动或半自动化流程的分析,识别出效率低下、数据不准确、信息更新滞后等问题,为系统的功能设计提供依据。 1.1 系统现状及背景 当前,许多企业的HR管理仍采用传统的纸质记录或Excel表格,这导致信息更新...
iBatis(现在更名为MyBatis)是一个半自动化的ORM框架,它不像Hibernate那样完全自动化,而是需要程序员手动编写SQL语句,并通过配置文件或注解来映射对象和SQL语句之间的关系。iBatis适用于那些需要高度定制SQL查询...
iBATIS(现更名为 MyBatis)是一个半自动化的 ORM 框架: - **SqlSessionFactory**:创建 SqlSession 对象。 - **SqlSession**:进行数据库操作。 - **Mapper**:定义 SQL 语句和结果映射规则。 #### 11. Struts2 ...