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框架的系统从职责 ...
随机推荐
- vue-cli快速构建Vue项目
vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ...
- asp.net web api添加自定义认证
1.定义认证失败结果生成器 /// <summary> /// 认证失败结果生成器 /// </summary> public class AuthenticationFail ...
- sql 将8位字符串转换成日期型
将8位字符串转换成日期型,方法如下: ),)
- linq查询一个字段的总和
(from s in dc.StockInItem //所要查询单表 join si in dc.StockIn //联合的表 on s.StockInID equals si ...
- 常见sizeof 笔试题
最近面试过程中遇到了很多很多sizeof的问题. 现在总结一下: #include <stdio.h> #include <string.h> void fun(int arr ...
- QQ屠龙转世-挖矿
※◆☆★☆◆※欢迎使用QQ屠龙转世辅助,如有疑问请联系作者QQ:82850696*2*测试版已停用*1*2014-8-27 14:05:59*哈密*E2873D0137C6D04F42E088AA46 ...
- 时间“Thu Aug 14 2014 14:28:06 GMT+0800”的转换
var date = "Thu Aug 14 2014 14:28:06 GMT+0800"; var va = DateTime.ParseExact(date, "d ...
- 大前端学习笔记整理【四】LESS基础
第一次接触CSS预编译,然后对比后发现其实less的上手容易度确实比sass高不少,再加上公司项目也是使用的less.所以想想还是根据网上的各种教程,整理出来了一些比较基础的.而且比较能让我们这种初学 ...
- luogu p1268 树的重量——构造,真正考验编程能力
题目链接:http://www.luogu.org/problem/show?pid=1268#sub -------- 这道题费了我不少心思= =其实思路和标称毫无差别,但是由于不习惯ACM风格的题 ...
- HDU Game Theory
5795 || 3032 把x个石子的堆分成非空两(i, j)或三堆(i, j, k)的操作->(sg[i] ^ sg[j])或(sg[i] ^ sg[j] ^ sg[k])是x的后继 #def ...