热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

eclipse(struts2+spring3+hibernate3)

eclipse(struts2spring3hibernate3)案例下载:SSH整合包下载:struts2spring3hibernate31、右键

eclipse(struts2+spring3+hibernate3)



案例下载:SSH

整合包下载:struts2+spring3+hibernate3



1、右键新建web project
这里写图片描述
这里写图片描述




2、添加web.xml
这里写图片描述


<web-app version&#61;"3.0" xmlns&#61;"http://java.sun.com/xml/ns/javaee" xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation&#61;"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><display-name>display-name> <welcome-file-list><welcome-file>index.jspwelcome-file>welcome-file-list><context-param><param-name>contextConfigLocationparam-name><param-value>classpath:applicationContext*.xmlparam-value>context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>listener><filter><filter-name>struts2filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterfilter-class>filter><filter-mapping><filter-name>struts2filter-name><url-pattern>*.actionurl-pattern>filter-mapping>web-app>



3、添加相关配置
这里写图片描述

applicationContext.xml


<beans
xmlns&#61;"http://www.springframework.org/schema/beans"xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"xmlns:p&#61;"http://www.springframework.org/schema/p"xmlns:context&#61;"http://www.springframework.org/schema/context"xmlns:aop&#61;"http://www.springframework.org/schema/aop"xmlns:tx&#61;"http://www.springframework.org/schema/tx" xsi:schemaLocation&#61;"http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd" default-autowire&#61;"byName">
<context:annotation-config /><context:component-scan base-package&#61;"com.gx.dao,com.gx.service" /><bean id&#61;"dataSource"class&#61;"org.apache.commons.dbcp.BasicDataSource"><property name&#61;"driverClassName"value&#61;"com.mysql.jdbc.Driver">property><property name&#61;"url"value&#61;"jdbc:mysql://127.0.0.1:3306/gxsoft?useUnicode&#61;true&characterEncoding&#61;utf-8">property><property name&#61;"username" value&#61;"root">property><property name&#61;"password" value&#61;"123">property>bean><bean id&#61;"sessionFactory"class&#61;"org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name&#61;"dataSource"><ref bean&#61;"dataSource" />property><property name&#61;"hibernateProperties"><props><prop key&#61;"hibernate.dialect">org.hibernate.dialect.MySQLDialectprop>props>property><property name&#61;"mappingResources"><list><value>com/gx/po/TbEmp.hbm.xmlvalue>list>property>bean><bean id&#61;"txManager" class&#61;"org.springframework.orm.hibernate3.HibernateTransactionManager"><property name&#61;"sessionFactory" ref&#61;"sessionFactory">property>bean><tx:annotation-driven transaction-manager&#61;"txManager"/>
beans>

log4j.properties

#\u8bbe\u7f6e\u7ea7\u522b\u548c\u591a\u4e2a\u76ee\u7684\u5730
log4j.rootLogger&#61;INFO,appender1,appender2#\u8f93\u51fa\u5230\u63a7\u5236\u53f0
log4j.appender.appender1&#61;org.apache.log4j.ConsoleAppender
#\u8bbe\u7f6e\u8f93\u51fa\u6837\u5f0f
log4j.appender.appender1.layout&#61;org.apache.log4j.TTCCLayout#\u8f93\u51fa\u5230\u6587\u4ef6(\u8fd9\u91cc\u9ed8\u8ba4\u4e3a\u8ffd\u52a0\u65b9\u5f0f)
log4j.appender.appender2&#61;org.apache.log4j.FileAppender
#\u8bbe\u7f6e\u6587\u4ef6\u8f93\u51fa\u8def\u5f84
#\u30101\u3011\u6587\u672c\u6587\u4ef6
log4j.appender.appender2.File&#61;d:/SSH.log
#\u30102\u3011HTML\u6587\u4ef6
#log4j.appender.appender2.File&#61;c:/Log4JDemo02.html
#\u8bbe\u7f6e\u6587\u4ef6\u8f93\u51fa\u6837\u5f0f
log4j.appender.appender2.layout&#61;org.apache.log4j.TTCCLayout
#log4j.appender.appender2.layout&#61;org.apache.log4j.HTMLLayout

struts.xml



<struts><package name&#61;"login" namespace&#61;"/" extends&#61;"struts-default"><action name&#61;"userAction" class&#61;"com.gx.web.UserAction"><result name&#61;"success">/jsp/list.jspresult><result name&#61;"input">/jsp/index.jspresult><result name&#61;"list">/jsp/list.jspresult><result name&#61;"add">/jsp/add.jspresult><result name&#61;"update">/jsp/update.jspresult>action>package>
struts>



4、添加目录结构
这里写图片描述




5、添加ssh2所需要的jar包到以下路径
这里写图片描述




6、添加jsp
这里写图片描述

index.jsp

<%&#64; page language&#61;"java" import&#61;"java.util.*" pageEncoding&#61;"UTF-8"%>
<%
String path &#61; request.getContextPath();
String basePath &#61; request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>

<html><head><base href&#61;"<%&#61;basePath%>"><title>My JSP &#39;index.jsp&#39; starting pagetitle><meta http-equiv&#61;"pragma" content&#61;"no-cache"><meta http-equiv&#61;"cache-control" content&#61;"no-cache"><meta http-equiv&#61;"expires" content&#61;"0"> <meta http-equiv&#61;"keywords" content&#61;"keyword1,keyword2,keyword3"><meta http-equiv&#61;"description" content&#61;"This is my page">head><body><form action&#61;"<%&#61;request.getContextPath() %>/userAction!login.action" method&#61;"post"><table><tr><td>用户名td><td><input type&#61;"text" name&#61;"user.ename">td>tr><tr><td>密码td><td><input type&#61;"password" name&#61;"user.password">td>tr><tr><td><input type&#61;"submit" value&#61;"立即登陆">td>tr>table>form>body>
html>

add.jsp

<%&#64; page language&#61;"java" import&#61;"java.util.*" pageEncoding&#61;"UTF-8"%>
<%
String path &#61; request.getContextPath();
String basePath &#61; request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>

<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/fmt" prefix&#61;"fmt" %>
<html><head><base href&#61;"<%&#61;basePath%>"><title>My JSP &#39;add.jsp&#39; starting pagetitle><meta http-equiv&#61;"pragma" content&#61;"no-cache"><meta http-equiv&#61;"cache-control" content&#61;"no-cache"><meta http-equiv&#61;"expires" content&#61;"0"> <meta http-equiv&#61;"keywords" content&#61;"keyword1,keyword2,keyword3"><meta http-equiv&#61;"description" content&#61;"This is my page">head><body><form action&#61;"<%&#61;request.getContextPath() %>/userAction!add.action" method&#61;"post"><input type&#61;"hidden" name&#61;"user.password" value&#61;"123"><table><tr><td>姓名td><td><input type&#61;"text" name&#61;"user.ename">td>tr><tr><td>所属部门td><td><input type&#61;"text" name&#61;"user.dept">td>tr><tr><td>年龄td><td><input type&#61;"text" name&#61;"user.age">td>tr><tr><td>性别td><td><input type&#61;"text" name&#61;"user.gender">td>tr><tr><td>入职时间td><td><input type&#61;"text" name&#61;"user.workDate">td>tr><tr><td><input type&#61;"submit" value&#61;"添加">td><td><input type&#61;"button" value&#61;"返回" onclick&#61;"history.go(-1);">td>tr>table>form>body>
html>

list.jsp

<%&#64; page language&#61;"java" import&#61;"java.util.*" pageEncoding&#61;"UTF-8"%>
<%
String path &#61; request.getContextPath();
String basePath &#61; request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>

<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/fmt" prefix&#61;"fmt" %>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/functions" prefix&#61;"fn" %>
<c:set value&#61;"${pageContext.request.contextPath}" scope&#61;"page" var&#61;"ctx">c:set>
<html><head><base href&#61;"<%&#61;basePath%>"><title>My JSP &#39;list.jsp&#39; starting pagetitle><meta http-equiv&#61;"pragma" content&#61;"no-cache"><meta http-equiv&#61;"cache-control" content&#61;"no-cache"><meta http-equiv&#61;"expires" content&#61;"0"> <meta http-equiv&#61;"keywords" content&#61;"keyword1,keyword2,keyword3"><meta http-equiv&#61;"description" content&#61;"This is my page"><style type&#61;"text/css">body{font-family: Microsoft Yahei, sans-serif;}style>head><body><div><input type&#61;"button" value&#61;"查询" onclick&#61;"window.location.href&#61;&#39;<%&#61;request.getContextPath() %>/userAction!findAll.action&#39;"><input type&#61;"button" value&#61;"添加" onclick&#61;"window.location.href&#61;&#39;<%&#61;request.getContextPath() %>/userAction!toadd.action&#39;">div><table><thead><tr><th>编号th><th>姓名th><th>所属部门th><th>年龄th><th>性别th><th>入职时间th><th>操作th>tr>thead><tbody><c:forEach items&#61;"${tbEmps}" var&#61;"item" varStatus&#61;"status"><tr><td>${item.eid }td><td>${item.ename }td><td>${item.dept }td><td>${item.age }td><td>${item.gender }td><td><fmt:formatDate value&#61;"${item.workDate }" type&#61;"both" pattern&#61;"yyyy-MM-dd"/>td><td><a href&#61;"<%&#61;request.getContextPath() %>/userAction!toupdate.action?user.eid&#61;${item.eid }">修改a>/<a href&#61;"<%&#61;request.getContextPath() %>/userAction!delete.action?user.eid&#61;${item.eid }">删除a>td>tr>c:forEach>tbody>table>body>
html>

update.jsp

<%&#64; page language&#61;"java" import&#61;"java.util.*" pageEncoding&#61;"UTF-8"%>
<%
String path &#61; request.getContextPath();
String basePath &#61; request.getScheme()&#43;"://"&#43;request.getServerName()&#43;":"&#43;request.getServerPort()&#43;path&#43;"/";
%>

<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/fmt" prefix&#61;"fmt" %>
<html><head><base href&#61;"<%&#61;basePath%>"><title>My JSP &#39;update.jsp&#39; starting pagetitle><meta http-equiv&#61;"pragma" content&#61;"no-cache"><meta http-equiv&#61;"cache-control" content&#61;"no-cache"><meta http-equiv&#61;"expires" content&#61;"0"> <meta http-equiv&#61;"keywords" content&#61;"keyword1,keyword2,keyword3"><meta http-equiv&#61;"description" content&#61;"This is my page">head><body><form action&#61;"<%&#61;request.getContextPath() %>/userAction!update.action" method&#61;"post"><input type&#61;"hidden" name&#61;"user.password" value&#61;"${user.password }"><input type&#61;"hidden" name&#61;"user.eid" value&#61;"${user.eid }"><table><tr><td>姓名td><td><input type&#61;"text" name&#61;"user.ename" value&#61;"${user.ename }">td>tr><tr><td>所属部门td><td><input type&#61;"text" name&#61;"user.dept" value&#61;"${user.dept }">td>tr><tr><td>年龄td><td><input type&#61;"text" name&#61;"user.age" value&#61;"${user.age }">td>tr><tr><td>性别td><td><input type&#61;"text" name&#61;"user.gender" value&#61;"${user.gender }">td>tr><tr><td>入职时间td><td><input type&#61;"text" name&#61;"user.workDate" value&#61;"${user.workDate }" type&#61;"both" pattern&#61;"yyyy-MM-dd" />">td>tr><tr><td><input type&#61;"submit" value&#61;"修改">td><td><input type&#61;"button" value&#61;"重置">td>tr>table>form>body>
html>


推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • JavaScript中属性节点的类型及应用
    本文深入探讨了JavaScript中属性节点的不同类型及其在实际开发中的应用,帮助开发者更好地理解和处理HTML元素的属性。通过具体的案例和代码示例,我们将详细解析如何操作这些属性节点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细探讨了HTTP 500内部服务器错误的成因、解决方案及其在Web开发中的影响。通过对具体案例的分析,帮助读者理解并解决此类问题。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
author-avatar
矮辛楚楚拉_760
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有