wang2222 2009-07-29 00:40 采纳率: 0%
浏览 274
已采纳

在servlet类中如何通过ssh架构保存数据到数据库

在servlet类
如何使用ssh架构访问数据库
保存servlet中的数据

  • 写回答

2条回答

  • samungtered 2009-08-05 17:07
    关注

    [quote]
    都SSH了还用啥Servlet?不太明白lz的意思。
    SSH里面一般是前台传过来一个form,form里面有dto,dto里面包含需要持久化的数据。Action将dto传给service,service里面调用dao,dao里面再使用hibernate来将dto里面的数据持久化到数据库。一层一层的。
    [/quote]

    还是有些情况需要用到servlet的
    给个方案吧?

    先自己重写一个ContextLoaderListener ,然后配置在web.xml替代ContextLoaderListener
    [code="java"]
    public class SpringLoaderListener extends ContextLoaderListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {
    
        super.contextInitialized(event);
        ServletContext context = event.getServletContext();
        ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
        SpringContextUtil.setApplicationContext(ctx);
    }
    

    }
    [/code]

    后面就是一个操作SpringContextUtil
    [code="java"]
    public class SpringContextUtil {
    private static ApplicationContext context;

    public static void setApplicationContext(ApplicationContext acx) {
        context = acx;
    }
    
    public static ApplicationContext getApplicationContext() {
        return context;
    }
    
    public static Object getBean(String name) throws BeansException {
        return context.getBean(name);
    }
    
    
    public static Object getBean(String name, Class requiredType) throws BeansException {
        return context.getBean(name, requiredType);
    }
    
    public static boolean containsBean(String name) {
        return context.containsBean(name);
    }
    
    public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
        return context.isSingleton(name);
    }
    
    public static Class getType(String name) throws NoSuchBeanDefinitionException {
        return context.getType(name);
    }
    
    public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
        return context.getAliases(name);
    }
    

    }
    [/code]

    你可以在servlet里通过该Utils工具方法可以得到你想要的bean,dao或者service
    然后就可以操作数据库了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题