1、编写JavaBean:User,必须继承于ActionForm类

 package myuser;

 import org.apache.struts.action.ActionForm;

 public class User extends ActionForm{

     //不加这个 eclipse 有警告
private static final long serialVersionUID = 5599822869891501922L; private Integer id; private String userName; private String pwd; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} 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;
}
}

2、在struts-config.xml中注册User的对象user

FormBean的概念,顾名思义,Form中的bean,表单中的数据,在Struts1.x由专门的ActionForm类负责接收,配置在 struts-config.xml中

      <form-beans>
<form-bean name="user" type="myuser.User"/>
</form-beans>

一些反复编写的,没有任何技术含量的代码,都有框架来实现,比如:
     User user = new User();
     getParameter 等。
     FormBean的作用,为操作(action)提供数据。
3、编写UserDao类的方法 addUser(User user)

     public void addUser(User user){
String sql = "insert into users(userName,pwd) values(?,?)";
//获取连接
Connection conn = DBLib.getConn();
//创建数据库操作对象
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPwd());
//执行数据库操作
pstmt.execute();
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally{
try {
//关闭数据库连接
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} }

4、编写AddUserAction,调用UserDAO类中的addUser方法,添加用户,此类必须继承于Action。

 package action;

 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 dao.UserDAO;
import myuser.User; public class AddUserAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
User user = (User)form;
UserDAO dao = new UserDAO();
dao.addUser(user);
return mapping.findForward("list");//跳转到userlist.jsp页面
} }

5、配置AddUserAction, path,name,scope,forward,添加成功后转向userlist.jsp

 <?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="user" type="myuser.User"/>
</form-beans> <action-mappings>
<action path="/addUser" type="action.AddUserAction" name="user">
<forward name="list" path="/userlist.jsp" />
</action>
</action-mappings>
</struts-config>

配置说明:

form-beans:用来放置多个formbean

from-bean:单个的formbean

| name:from-bean的名字,用于下面action标签的引用

| type:所对应的类,该类一定要继承 ActionForm

action-mappings:用来放置多个action

action:单个的action

| path:通过*.do(一般是,这要看web.xml url-pattern的配置)过滤后的路径名称,必须加"/"

| type:所对应的类,该类一定要继承 Action(或者其子类,后面会有例子)

| name:form-beans中的某个form-bean

| scope:该formbean的有效范围,两个值:request、session

| attribute:formbean在该有效范围中的名字,如果没有设置该属性默认就是name的值,一般不用设置该属性

forward:action 处理完成之后跳转到哪个页面

| name:给action中的 mapping.findForward(name) 用的

| path:页面路径,以前一定要加"/"

5、JSP页面代码

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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==UTF-8">
<title>Insert title here</title>
</head>
<body>
用户注册<br/> <form method="post" action="addUser.do">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="userName"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pwd"/></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提 交"/>
</td>
</tr>
</table>
</form>
<div id="msg"></div>
<br/>
<br/>
<a href="main.jsp">返回主页面</a>
</body>
</html>

代码链接:http://pan.baidu.com/s/1qY4PEOW 提取码:gy0n

最新文章

  1. BZOJ3252: 攻略
  2. 黑马----JAVA字符串
  3. JQuery获取元素本身HTML
  4. 最简单的轮播广告(原生JS)
  5. 在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
  6. git设置对比工具
  7. C#实现异步编程的两个简单机制(异步委托&amp;定时器)及Thread实现多线程
  8. Linux2.6内核--VFS层中和进程相关的数据结构
  9. Network of Schools(强连通分量+缩点) (问添加几个点最少点是所有点连接+添加最少边使图强连通)
  10. windows desktop.ini
  11. Swift Error fatal error: unexpectedly found nil while unwrapping an Optional value
  12. git命令与github使用
  13. javascript 巴西世界杯倒计时
  14. webpack(四)处理 css\less\sass 样式
  15. 给“file”类型的input框赋值的问题
  16. RxJS速成 (上)
  17. C#版 - Leetcode 633. 平方数之和 - 题解
  18. RTSP-RTMP-HLS媒体播放管理
  19. PyQt5 -pycharm 环境搭建
  20. 自定义Attribute类

热门文章

  1. FMDB----SQL----数据库
  2. 【学习笔记】JavaScript的基础学习
  3. A. Wrong Subtraction
  4. day_11 生成器
  5. zookeeper崩溃修复
  6. python模块之numpy
  7. sublime快捷键:快速查找函数和快速匹配括号
  8. Jenkins安全配置详解
  9. my08_mysqldump+binlog server备份
  10. Linux环境搭建禅道项目管理工具