myeclipse中ssh开发2

看看我们的web.xml文件

我们还没有配置Context
1.告诉它Spring的配置文件的位置
2.Spring 的一个监听ContextLoaderListener
然后应用程序跑起来的时候该做什么它就去做什么
3.然后我们还要添加一个filter
它的作用是那个关闭session
即openSessionInView

现在的web.xml代码就如下所示

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="
http://java.sun.com/xml/ns/javaee"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
   <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- filter -->
    <filter>
    <!-- 这个filter一定要放在struts2的filter前面 -->
   <filter-name>opensession</filter-name>
   <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>



<!-- filter-mapping -->
<filter-mapping>
   <filter-name>opensession</filter-name>
   <url-pattern>*.action</url-pattern>
</filter-mapping>
   

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>

public class Member implements java.io.Serializable {


private static final long serialVersionUID = 1L;

// Fields
private Integer mid;
private String name;
private String password;

// Constructors


public Member() {
}


public Member(String name, String password) {
   this.name = name;
   this.password = password;
}

// Property accessors

public Integer getMid() {
   return this.mid;
}

private void setMid(Integer mid) {
   this.mid = mid;
}

public String getName() {
   return this.name;
}

public void setName(String name) {
   this.name = name;
}

public String getPassword() {
   return this.password;
}

public void setPassword(String password) {
   this.password = password;
}

}

Member.hbm.xml

<?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">
<!--
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.jamesleeson.ssh.model.Member" table="member" catalog="ssh">
        <id name="mid" type="java.lang.Integer">
            <column name="mid" />
            <generator class="identity"></generator>
        </id>
        <property name="name" type="java.lang.String">
            <column name="name" length="16" not-null="true" unique="true" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="16" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

IMemeberManager.java

 

package com.jamesleeson.ssh.services;

import java.util.List;

import com.jamesleeson.ssh.model.Member;

public interface IMemberManager {
// 以后我们可能对几个Dao同时去操作
// 所以事务可能会加在这些方法上进行相关的处理
public void add(Member member);

public Member get(Integer mid);

public List<Member> list();

public void update(Member member);

public void delete(Integer mid);

}

MemberManager.java

package com.jamesleeson.ssh.services.Impl;

import java.util.List;

import com.jamesleeson.ssh.dao.IMemberDAO;
import com.jamesleeson.ssh.model.Member;
import com.jamesleeson.ssh.services.IMemberManager;

public class MemberManager implements IMemberManager {

private IMemberDAO memberDAO;

// 我们让Spring给注射 dao操作的类的对象,所以提供setXXX 方法
public void setMemberDAO(IMemberDAO memberDAO) {
   this.memberDAO = memberDAO;
}

public void add(Member member) {
   // 现在这个很简单,但是以后如果很复杂的多表操作就不再是这样咯
   memberDAO.add(member);
}

public void delete(Integer mid) {
   memberDAO.delete(mid);
}

public Member get(Integer mid) {
   return memberDAO.get(mid);
}

public List<Member> list() {
   return memberDAO.list();
}

public void update(Member member) {
   memberDAO.update(member);
}

}

 


MemberAction.java

package com.jamesleeson.ssh.action;

import java.util.List;

import com.jamesleeson.ssh.model.Member;
import com.jamesleeson.ssh.services.IMemberManager;
import com.opensymphony.xwork2.ActionSupport;

public class MemberAction extends ActionSupport {

private static final long serialVersionUID = 1L;
// 对象模型
private Member member;
// 保存所有的member记录
private List<Member> memberList;
// 让Spring给我们注入service
private IMemberManager memberManager;
// 我们通过Id作查询
private Integer mid;

// 现在这里还没有配置update方法
public String add() {
   memberManager.add(member);
   return SUCCESS;
}

public String delete() {
   memberManager.delete(mid);
   return SUCCESS;
}


public Member getMember() {
   return member;
}

public String getMemberFromDB() {
   member = memberManager.get(mid);
   return SUCCESS;
}

public List<Member> getMemberList() {
   return memberList;
}

// update这个方法比较复杂,因为它的一些条件不好弄
// 这个我们暂时不设置

public Integer getMid() {
   return mid;
}

public String list() {
   memberList = memberManager.list();
   return SUCCESS;
}

public void setMember(Member member) {
   this.member = member;
}

public void setMemberList(List<Member> memberList) {
   this.memberList = memberList;
}

public void setMemberManager(IMemberManager memberManager) {
   this.memberManager = memberManager;
}

public void setMid(Integer mid) {
   this.mid = mid;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值