如何搭建SSH框架,myeclipse搭建SSH框架详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何搭建SSH框架,myeclipse搭建SSH框架详解相关的知识,希望对你有一定的参考价值。

搭建struts应用
2.1 引入需要的jar包
commons-fileupload-1.2.1.jar 文件上传
commons-logging-1.0.4.jar 日志包
freemarker-2.3.13.jar Sturts2的所有UI标记
ognl-2.6.11.jar OGNL表达式相关
struts2-core-2.1.6.jar Struts2的核心包
xwork-2.1.2.jar XWork2 库。Struts2核心包,做为底层存在
2.2 加入配置文件 struts.xml, struts.properties
2.3 将struts加入到web.xml的配置中,将请求交由struts来处理
2.4 编写Action类,无需继承任何类和实现任何接口
2.5 在struts.xml中加入对action的配置
搭建spring的框架
2.1 加入jar包
SPRING_HOME/dist/spring.jar
SPRING_HOME/lib/log4j/log4j.jar
SPRING_HOME/jakarta-commons/commons-logging.jar
2.2 加入配置文件
SPRING_HOME/samples/jpetstore/war/WEB-INF/log4j.properties
SPRING_HOME/samples/jpetstore/war/WEB-INF/applicationContext.xml
2.3 将写好的类加入到spring的管理(配置到xml中)
2.4 通过ClassPathXmlApplicationContext来加载spring的配置文件生成BeanFactory工厂对象,通过工厂对象来创建所需要的bean
hibernate框架搭建
1.1 加入jar包
HIBERNATE_HOME/hibernate3.jar -- hibernate核心包
HIBERNATE_HOME/lib/required/*.jar
(在hibernate官网下载的包中却少一个必须包slf4j-nop-1.5.2.jar,需要自己在网上下载)
数据库的jar包
1.2 hibernate.cfg.xml配置文件
HIBERNATE_HOME/project/etc/hibernate.cfg.xml
对应属性在HIBERNATE_HOME/project/etc/hibernate.properties中寻找
hibernate.connection.url --- 访问数据库的url地址
hibernate.connection.username --- 访问数据库的用户名
hibernate.connection.password --- 访问数据库的密码
hibernate.connection.driver_calss --- 访问数据库所需的驱动包
hibernate.dialect --- 访问数据库的方言
1.3 Xxxx.hbm.xml 映射文件
HIBERNATE_HOME/project/tutorials/eg/src/main/java/org/hibernate/auction/Xxxx.hbm.xml
将该文件以需要映射的类的类名.hbm.xml命名放在跟映射类同包中
参考技术A

工具/原料

myeclipse

新建web工程

    打开myeclipse,在控制空间右击,选择“new”然后选择“web project”新建一个web工程。

    给这个工程取个名字叫"SSH",然后选择java ee 5.0如果新建不了,要看jdk的版本了,要高于1.5的,还有,这里的版本设置最好也要在1.5以上。

    点击finish(完成)按钮

struts依赖包

    右击工程,选择“myeclipse”在二级菜单找到“Add Struts Capabilities”点击进入。

    按照图中选择struts 2.1的,然后点击完成。

    添加struts的依赖包。点击完成。

    完成后可以看到struts的配置文件。

添加spring框架依赖包

    右击工程,选择“myeclipse”在二级菜单找到“Add Spring Capabilities”点击进入。

    选择spring3.0的,然后勾上红框中的包,并且把这些包放到lib目录下面。

    选择存放资源的位置。

    点击完成后,spring部分的搭建完毕,可以看到文件夹上带有“S”的标志。

建立一个数据库连接

    在配置hibernate之前,先建立一个数据库的连接。myeclipse右上角找到切换视图的图标,点击,找到“MyEclipse Database Explorer”点击进入。

    右击新建一个连接“new“

    这里使用的是mysql数据库,所以选择这个,驱动包可以到网上下载,或者从提供的项目里面拿。放在lib下面了。

    添加完驱动后,点击完成。

    右击新建好的数据库连接,选择”open another connection“连接数据库,看是否成功,成功后可以看到数据库的表结构。

添加hibernate依赖包

    右击工程,选择“myeclipse”在二级菜单找到“Add Hibernate Capabilities ”点击进入。

    选择hibernate3.3的支持。选中红框需要的包,并且把这些包放到lib目录下面。

    统一由Spring configuration file管理Hibernate

    这里选择继承的Spring配置文件。

    选择刚才新建好的数据库连接。

    把勾去掉,点击”next“,然后再点击完成。到了这一步,SSH框架的搭建基本上就完成了。下面运行测试一下。

运行SSH项目

    点击myeclipse部署项目的图标

    部署项目到服务器中。

    选择系统自带的tomcat

    部署到服务器中后,点击完成。

    debug 或者 run启动服务器。

    在浏览器输入”http://localhost:8080/SSH“回车,可以看到搭建成功的项目

参考技术B

    创建javaWeb项目

    下载struts2依赖jar包,去官网下个打包的,有很多个jar,自己去找容易找错。而且版本不一致,会有冲突。配置好strut.xml文件和web.xml文件

    下载spring依赖jar包,配置好application.properties文件

    下载hibernate依赖,配置好hibernate.xml文件

    把下载的jar包都放到web根目录下的web-inf下的lib里,然后在build path里add lib,把lib文件夹加入到classpath路径下。

    写好你的逻辑代码后,启动项目。然后看看有什么错误,解决什么错误。因为你下载的jar包可能是基础jar,实际开发的时候会用到其他功能,所以会加入其他jar包作为功能扩展,这些另外去下。

    解决完问题之后,就搭建完成了。

    注意:下jar包最好去官网下载,其他依赖jar去maven仓库下。有问题百度下,基本能解决。

本回答被提问者采纳

MyEclipse:SSH快速搭建

【MyEclipse】:SSH快速搭建

ssh搭建的前提,需要掌握 spring,struts2,hibernate

这是一种快速搭建的方式,框架基本上都是自动生成好。

如有不足之处,请指教!

@

1、数据库表

create table users(
	uid INT auto_increment PRIMARY KEY,
	uname VARCHAR(20) NOT NULL,
	usex VARCHAR(2) NOT NULL,
	ubirth TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null
)DEFAULT CHARSET=utf8;

insert into users values(null,"张珊",\'女\',DEFAULT);
insert into users values(null,"李四",\'男\',DEFAULT);
insert into users values(null,"王五",\'男\',DEFAULT);
insert into users values(null,"赵柳",\'女\',DEFAULT);

2、新建项目

2.1、创建一个web project项目

在这里插入图片描述

2.2、导入spring

在这里插入图片描述

在这里插入图片描述

spring 添加玩以后,会多出很多的jar 包和一个配置文件 applicationContext.xml

在这里插入图片描述

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


</beans>
2.3、添加 struts2

导入 struts2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目结构

在这里插入图片描述

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

</struts>    
2.4、添加 Hibernate
  1. 导入hibernate

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. Hibernate 的配置自动添加到 applicationContext.xml 文件中
<!-- 连接池 -->
<bean id="dataSource"
      class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
              value="com.mysql.jdbc.Driver">
    </property>
    <property name="url"
              value="jdbc:mysql://localhost:3306/myschool">
    </property>
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>

<bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
        <ref bean="dataSource" />
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </prop>
        </props>
    </property>
</bean>
2.5、逆向工程,生成实体类
  1. 连接 mysql 数据库

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 导入数据库表
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

项目结构

在这里插入图片描述

  1. 在 applicationContext.xml 中配置事务和支持注解开发
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	">


	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver">
		</property>
		<property name="url"
			value="jdbc:mysql://localhost:3306/myschool">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/ssh/pojo/Users.hbm.xml</value></list>
		</property>
	</bean>
	
	<!-- 事务 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
	
	<!-- 注解  -->
	<tx:annotation-driven/>
	
	<bean id="UsersDAO" class="com.ssh.pojo.UsersDAO">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>
	
</beans>

注意:

在这里插入图片描述

2.6、配置 web.xml
  1. 配置 Context Params

在这里插入图片描述

  1. Filters 过滤器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. Listeners 监听器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 保存,web.xml就配置完了

  3. 部署到Tomcat服务器上,无报错,即搭建成功!

2.7、数据编写
  1. 建立基本结构

    • com.ssh.action
    • com.ssh.dao
    • com.ssh.pojo
    • com.ssh.service
  2. 实体类和dao层

    实体类

public class Users implements java.io.Serializable {
	private Integer uid;
	private String uname;
	private String usex;
	private Timestamp ubirth;
    
    //get/set方法,有参无参构造函数,toString();
}

​ dao层

package com.ssh.dao;

import java.sql.Timestamp;
import java.util.List;
import org.hibernate.LockMode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.ssh.pojo.Users;


public class UsersDAO extends HibernateDaoSupport {
    private static final Logger log = LoggerFactory.getLogger(UsersDAO.class);
    // property constants
    public static final String UNAME = "uname";
    public static final String USEX = "usex";

    protected void initDao() {
        // do nothing
    }

    public void save(Users transientInstance) {
        log.debug("saving Users instance");
        try {
            getHibernateTemplate().save(transientInstance);
            log.debug("save successful");
        } catch (RuntimeException re) {
            log.error("save failed", re);
            throw re;
        }
    }

    public void delete(Users persistentInstance) {
        log.debug("deleting Users instance");
        try {
            getHibernateTemplate().delete(persistentInstance);
            log.debug("delete successful");
        } catch (RuntimeException re) {
            log.error("delete failed", re);
            throw re;
        }
    }

    public Users findById(java.lang.Integer id) {
        log.debug("getting Users instance with id: " + id);
        try {
            Users instance = (Users) getHibernateTemplate().get(
                "com.ssh.pojo.Users", id);
            return instance;
        } catch (RuntimeException re) {
            log.error("get failed", re);
            throw re;
        }
    }

    public List findByExample(Users instance) {
        log.debug("finding Users instance by example");
        try {
            List results = getHibernateTemplate().findByExample(instance);
            log.debug("find by example successful, result size: "
                      + results.size());
            return results;
        } catch (RuntimeException re) {
            log.error("find by example failed", re);
            throw re;
        }
    }

    public List findByProperty(String propertyName, Object value) {
        log.debug("finding Users instance with property: " + propertyName
                  + ", value: " + value);
        try {
            String queryString = "from Users as model where model."
                + propertyName + "= ?";
            return getHibernateTemplate().find(queryString, value);
        } catch (RuntimeException re) {
            log.error("find by property name failed", re);
            throw re;
        }
    }

    public List findByUname(Object uname) {
        return findByProperty(UNAME, uname);
    }

    public List findByUsex(Object usex) {
        return findByProperty(USEX, usex);
    }

    public List findAll() {
        log.debug("finding all Users instances");
        try {
            String queryString = "from Users";
            return getHibernateTemplate().find(queryString);
        } catch (RuntimeException re) {
            log.error("find all failed", re);
            throw re;
        }
    }

    public Users merge(Users detachedInstance) {
        log.debug("merging Users instance");
        try {
            Users result = (Users) getHibernateTemplate().merge(
                detachedInstance);
            log.debug("merge successful");
            return result;
        } catch (RuntimeException re) {
            log.error("merge failed", re);
            throw re;
        }
    }

    public void attachDirty(Users instance) {
        log.debug("attaching dirty Users instance");
        try {
            getHibernateTemplate().saveOrUpdate(instance);
            log.debug("attach successful");
        } catch (RuntimeException re) {
            log.error("attach failed", re);
            throw re;
        }
    }

    public void attachClean(Users instance) {
        log.debug("attaching clean Users instance");
        try {
            getHibernateTemplate().lock(instance, LockMode.NONE);
            log.debug("attach successful");
        } catch (RuntimeException re) {
            log.error("attach failed", re);
            throw re;
        }
    }

    public static UsersDAO getFromApplicationContext(ApplicationContext ctx) {
        return (UsersDAO) ctx.getBean("UsersDAO");
    }
}
  1. Users.hbm.xml

    注意:里面的 not null = ‘true’ 需要删除,不然做曾删改时会报错!

    如果没删传对象时所有属性都不能为空!

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.ssh.pojo.Users" table="users" catalog="myschool">
        <id name="uid" type="java.lang.Integer">
            <column name="uid" />
            <generator class="identity" />
        </id>
        <property name="uname" type="java.lang.String">
            <column name="uname" length="20" />
        </property>
        <property name="usex" type="java.lang.String">
            <column name="usex" length="2" />
        </property>
        <property name="ubirth" type="java.sql.Timestamp">
            <column name="ubirth" length="19"/>
        </property>
    </class>
</hibernate-mapping>

  1. 编写Service层的接口和实现类

    接口

package com.ssh.service;

import java.util.List;

import com.ssh.pojo.Users;

public interface UsersService {
	//查询所有用户
	List<Users> queryUsersList();
	
	//单值查询
	Users queryUsers();
	
	//添加
	void addUsers(Users users);
	
	//修改
	void updateUsers(Users users);
	
	//删除
	void delUsers(Users users);
}

​ 实现类

package com.ssh.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import com.ssh.dao.UsersDAO;
import com.ssh.pojo.Users;

public class UsersServiceImpl implements UsersService {
	
	private UsersDAO usersDAO;
	
	public void setUsersDAO(UsersDAO usersDAO) {
		this.usersDAO = usersDAO;
	}
	
	//添加
	@Autowired
	@Transactional
	public void addUsers(Users users) {
		usersDAO.save(users);
		
	}
	
	//删除
	@Autowired
	@Transactional
	public void delUsers(Users users) {
		usersDAO.delete(users);
		
	}

	//单值查询
	public Users queryUsers(int uid) {
		return (Users) usersDAO.findById(uid);
	}

	
	//查询所有
	public List<Users> queryUsersList() {
		return usersDAO.findAll();
	}

	//修改
	@Autowired		 //自动装配
	@Transactional   //开启事务行为,曾删改
	public void updateUsers(Users users) {
		usersDAO.merge(users);
		
	}

}

  1. 编写action层
package com.ssh.action;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.ssh.pojo.Users;
import com.ssh.service.UsersService;

public class UsersAction extends ActionSupport {
	private UsersService usersService;
	
	private Users users;
	
	private List<Users> list;
	
	private int uid;
	
    //get/set方法
    
	public void setUsersService(UsersService usersService) {
		this.usersService = usersService;
	}
	
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		return super.execute();
	}
	
	//查询所有用户
	public String list() throws Exception {
		list = usersService.queryUsersList();
		return "list"; 
	}
	
	//单值查询
	public String query() throws Exception {
		Users user = usersService.queryUsers(uid);
		//获取session会话
		HttpSession session = ServletActionContext.getRequest().getSession();
		//给session赋值
		session.setAttribute("user", user);
		//返回
		return "query"; 
	}

	//添加
	public String add() throws Exception {
		usersService.addUsers(users);
		return list();
	}

	//删除
	public String del() throws Exception {
		usersService.delUsers(users);
		return list();
	}
	
	//修改
	public String update() throws Exception {
		usersService.updateUsers(users);
		return list();
	}
}

  1. applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/tx 
		http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	">


	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver">
		</property>
		<property name="url"
			value="jdbc:mysql://localhost:3306/myschool">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/ssh/pojo/Users.hbm.xml</value></list>
		</property>
	</bean>
	
	<!-- 事务 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
	
	<!-- 注解  -->
	<tx:annotation-driven/>
	
	<!-- dao层 -->
	<bean id="usersDAO" class="com.ssh.dao.UsersDAO">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
	</bean>
	
	<!-- service层 -->
	<bean id="usersService" class="com.ssh.service.UsersServiceImpl">
		<property name="usersDAO" ref="usersDAO"/>
	</bean>
	
	<!-- action层 -->
	<bean id="usersAction" class="com.ssh.action.UsersAction">
		<property name="usersService" ref="usersService"/>
	</bean>
	
</beans>
  1. struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<package name="users" namespace="/users" extends="struts-default">
		<action name="usersAction_*" method="{1}" class="com.ssh.action.UsersAction">
			<result name="list">/list.jsp</result>
			<result name="query">/update.jsp</result>
		</action>
	</package>
</struts>    

3、视图层

index.jsp
<h1><a href="javaScript:location.href=\'users/usersAction_list\'">去list.jsp</a></h1>
list.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
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 \'list.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">
        <!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

    </head>

    <body>
        <table align="center" cellpadding="1" cellspacing="1" border="1" width="600px;">
            <caption><h1>用户信息</h1></caption>
            <caption><h3><a href="add.jsp">添加用户</a></h3></caption>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>生日</th>
                <th>操作</th>
            </tr>
            <c:forEach items="${list}" var="user">
                <tr>
                    <td>${user.uid }</td>
                    <td>${user.uname }</td>
                    <td>${user.usex }</td>
                    <td>${user.ubirth }</td>
                    <td>
                        <a href="javaScript:location.href=\'users/usersAction_query?uid=${user.uid}\'">修改</a>
                        &emsp;
                        <a href="javaScript:delUsers(${user.uid})">删除</a>
                    </td>
                </tr>
            </c:forEach>
        </table>
        <script>
            function delUsers(id){
                if(confirm("确认删除吗?")){
                    location.href="users/usersAction_del?users.uid="+id;
                }
            }
        </script>
    </body>
</html>

add.jsp
<form action="users/usersAction_add" method="post">
    <table  align="center" cellpadding="1" cellspacing="1" border="1" width="300px;">
        <caption><h3>添加用户</h3></caption>
        <tr>
            <th>姓名</th>
            <td><input name="users.uname" type="text"/></td>
        </tr>
        <tr>
            <th>性别</th>
            <td>
                <input name="users.usex" type="radio" value="男" checked="checked"/>男&emsp;
                <input name="users.usex" type="radio" value="女"/>女
            </td>
        </tr>
        <tr>
            <th>生日</th>
            <td><input name="users.ubirth" type="text"/></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="提交"/>&emsp;
                <input type="button" value="返回" onclick="javaScript:history.back()"/>
            </td>
        </tr>
    </table>
</form>
update.jsp
<form action="users/usersAction_update" method="post">
    <table  align="center" cellpadding="1" cellspacing="1" border="1" width="300px;">
        <caption><h3>添加用户</h3></caption>
        <tr>
            <input type="hidden" name="users.uid" value="${user.uid}"/>
            <th>姓名</th>
            <td><input name="users.uname" type="text" value="${user.uname}"/></td>
        </tr>
        <tr>
            <th>性别</th>
            <td>
                <input name="users.usex" type="radio" value="男" checked="checked" />男&emsp;
                <input name="users.usex" type="radio" value="女" ${user.usex==\'女\'?\'checked\':\'\'} />女
            </td>
        </tr>
        <tr>
            <th>生日</th>
            <td><input name="users.ubirth" type="text"  value="${user.ubirth}"/></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="提交"/>&emsp;
                <input type="button" value="返回" onclick="javaScript:history.back()"/>
            </td>
        </tr>
    </table>
</form>
执行效果:

在这里插入图片描述

最终目录结构:

在这里插入图片描述

以上是关于如何搭建SSH框架,myeclipse搭建SSH框架详解的主要内容,如果未能解决你的问题,请参考以下文章

如何用eclipse搭建ssh框架

搭建搭建一个SSH框架 Web工程,实现以下功能

MyEclipse:SSH快速搭建

eclipse搭建ssh框架步骤

如何在eclipse里搭建SSH框架?

MeEclipse搭建SSH框架之———大体框架