SSH框架的简单示例(执行流程)
本文转自一篇博文,感觉通俗易懂,适用于初学j2ee者,与大家一起分享
(一)struts框架部分
1.打开Myeclipse,创建一个web project,项目名称为TestSSH.
2.在web的lib下粘贴struts需要的六个jar包.(jar包在附件里)
3.在web下的web.xml中配置struts的filter.
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
//上面几行代码是从Referenced Libraies下的struts-core-2.0.8.jar下的struts-default.xml中拷贝过来的
<!-- 配置struts开始 -->
<filter>
<filter-name>myStruts</filter-name> <!--这个过滤器的名字可以随便写-->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>myStruts</filter-name> <!--要和上面的那个过滤器的名字一致-->
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置struts结束 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.在src下创建一个包,叫做action,在这个包里创建一个类,叫做TestAction.java这个类要继承ActionSupport
代码如下:
package action;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 6241935194381649471L;
public String execute() throws Exception {
System.out.println("struts==========================");//控制台上会打印出这句话,
return "success";
}
}
5.在src下创建一个struts.xml代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="login" class="action.TestAction">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
6.index.jsp中的<body>这是测试struts框架的页面.</body>
中写上一句话,
7.将这个项目部署到Tomcat中,启动Tomcat,打开浏览器,地址栏中输入:http://localhost:8080/TestSSH/login.action就会出现一个页面,上面写着 这是测试struts框架的页面.
到此,struts框架搭建完成.
(二)struts基础上添加spring框架
添加spring框架:
右键 ->MyEclipse选择add spring ....,
将applicationContext.xml放在WEB_INF下。Finish




项目中包含的文件如下图所示.:
在web.xml中配置spring的监听:
<!-- 添加Spring的监听 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener
注意:添加一个struts和spring的链接的jar包。
TestAction.java******************
package action;
importservice.userServiceImple;
import com.opensymphony.xwork2.ActionSupport;
public class TestActionextends ActionSupport {
/**
*
*/
private static final long serialVersionUID= 6241935194381649471L;
private String username;
private String pwd;
private userServiceImple userservice;
public userServiceImple getUserservice(){
return userservice;
}
public voidsetUserservice(userServiceImple userservice) {
this.userservice = userservice;
}
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;
}
public String execute() throws Exception{
System.out.println("用户名:"+this.getUsername() + " 密码:" + this.getPwd());
this.userservice.test();
return "success";
}
}
userServiceImple.java*************
package service;
public class userServiceImple {
public void test(){
System.out.println("userserviceImple..................");
}
}
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/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean name="user"class="service.userServiceImple"></bean>
<bean name="loginaa"class="action.TestAction">
<property name="userservice"ref="user"></property>
</bean>
</beans>
struts.xml**************************
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD StrutsConfiguration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="demo" extends="struts-default">
<action name="login"class="loginaa">
<result name="success">a.jsp</result>
</action>
</package>
</struts>
index.jsp****************************
.jsp文件第一行的编码换成utf-8
<body>
<form action="login.action"method="post">
用户名:<input type="text"name="username">
密码:<input type="password"name="pwd">
<input type="submit"value="登录">
</form>
</body>
a. jsp**************************************
<body>
登陆成功
</body>
访问时:http://localhost:8080/TestSSH 输入用户名和密码登录,然后成功跳转到index.jsp页面。
控制台上就打印出了
用户名:admin 密码:admin
userserviceImple..................
点击登录之后,跳转到a.jsp
(三)添加Hibernate框架,
在此之前呢,要用mysql数据库中,用户名和密码都是root,(这个要记住,以防后面创建连接时连接不上)
创建一个数据库名字叫pla,(名字自己取就行),创建一个表叫hlis_base_info.
字段如下:
(如下图所示)

打开myeclipse,



打开my切换到MyEclipsejava Enterprise视图中







再返回到MyEclipsedatabase Explorer视图中



切换到MyEclipsejava Enterprise视图中

这样就利用了Hibernate的控制反转将数据库中的表变为项目中的类,有一个映射作用,其他表也可以利用这个过程生成对应的类.
到此SSH框架搭建完毕,部署项目,启动Tomcat,会出现异常,经过分析是缺少一些jar包导致的,
所需要的jar在附件中的一个文件夹中,可以自己查看缺少的jar包.
将jar添加上,就可以正常启动Tomcat服务器了.
之后会将hibernate生成的类,运用到SSH框架中,体现框架的强大.还会有spring 强大的事务管理功能.
SSH框架的简单示例(执行流程)的更多相关文章
- Java调度框架Quartz简单示例
Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...
- SSH框架新线程下执行数据库持久化时 No Session found for current thread
架构:SSH框架 问题:多线程下的持久化操作 异常No Session found for current thread出现环境: SSH框架,采用声明式事务, 通过sessionFactory.ge ...
- struts2简单入门-执行流程
简单的执行流程图
- SSH框架的简单上传功能的实现
1.创建项目. 2.导入开发包. 3.配置web.xml. 配置内容就是配置struct2的内容如下: <?xml version="1.0" encoding=" ...
- SSH框架的简单学习—Structs学习
一:struts部分 1.打开Myeclipse,创建一个web project,项目名称为SSHDemo. 2.在web的lib下粘贴struts2-blank.war解压后WEB-INF\lib下 ...
- 整合SSH框架实现简单登录
SSH整合的大体结构:我们将Struts2和hibernate交给spring来管理 创建好web项目之后,首先当然是先引入需要的pom节点,需要的pom的节点可以在Maven官方仓库中下载https ...
- SSH框架的简单含义
典型的J2EE三层结构,分为表现层.中间层(业务逻辑层)和数据服务层.三层体系将业务规则.数据访问及合法性校验等工作放在中间层处理.客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与 ...
- Spring Boot集成Reactor事件处理框架的简单示例
1. Reactor简介 Reactor 是 Spring 社区发布的基于事件驱动的异步框架,不仅解耦了程序之间的强调用关系,而且有效提升了系统的多线程并发处理能力. 2. Spring Boot集成 ...
- SSH框架总结
首先,SSH是由多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责 ...
随机推荐
- Centos 压缩、解压和打包命令
gzip命令 --功能说明:gz文件的压缩和解压缩. --命令格式:gzip [参数] <文件> --常用参数: -d 解开压缩文件 -l 列出压缩文件的相关信息 -q 不显示警告信息 - ...
- mac上运行appium提示错误Encountered internal error running command 解决办法
[debug] [iOS] App is not installed. Will try to install. [MJSONWP] Encountered internal error runnin ...
- Android消息的提示,Toast吐司方式
1:选中某个控件进行触发 2:触发事件进行监听,然后绑定Toast对象进行消息提示 1,创建Android项目的时候,自带的一个Activity,我们看看代码 package com.example. ...
- NES模拟器开发-CPU笔记
我的项目XNES已经开始动手编码了,目前的进度大概是cpu的模拟完成了大概10~20%左右.简单记录一下CPU模拟过程中遇到的问题和思考. 原理: cpu模拟实际就是模拟cpu处理opcode的过程, ...
- 安装CocoaPods碰到的问题
1.安装完Pods后第一次使用pod install命令提示"Setting up CocoaPods master repo" 解决办法: 第一次使用pod命令时,先执行以下po ...
- 转载:分布式系统的CAP理论
原文转载Hollis原创文章:http://www.hollischuang.com/archives/666 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提 ...
- js(ext)中,设置[!!异步!!]上传的简单进度条
代码在updateHmis的历史记录中,此处存档 handler : function() { //显示进度条 Ext.MessageBox.wait('数据上传中...','提示'); //上传数据 ...
- H5前端性能测试快速入门
前言 说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试.那本文谈到的则是H5前端性能测试,并希望通过阅读本文后,能够知道 ...
- IOS 问题集锦
1._ UIWebview 拦截URL的时候:_NSCFString containsString:]: unrecognized selector sent to instance 的解决方案 NS ...
- 小JAVA大世界之万年历
import java.util.Scanner; public class Calendar { public static void main(String[] args) { // 万年历 in ...