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框架的系统从职责 ...
随机推荐
- iOS8 定位补充
iOS 8定位补充 iOS 8定位需要修改2个地方 1.info.plist文件中添加NSLocationAlwaysUsageDescription:描述信息 从iOS 8开始,用户定位分两种情况 ...
- JavaWeb技术(一):JDBC简介
一. JDBC简介 1. Java Database Connectivity(JDBC) 使用JDBC可以对数据库进行访问 2. JDBC的核心接口 1)DriverManager 驱动管理器接口 ...
- 强大的Spring缓存技术(中)
好,到目前为止,我们的 spring cache 缓存程序已经运行成功了,但是还不完美,因为还缺少一个重要的缓存管理逻辑:清空缓存. 当账号数据发生变更,那么必须要清空某个缓存,另外还需要定期的清空所 ...
- DHCP配置
DHCP服务器IP:192.168.1.10 一,安装dhcp [root@localhost ~]# yum install dhcp Loaded plugins: product-id, sub ...
- 多次drawRect,显示重叠,需要设置背景颜色
自己写的一个控件,中途在setNeedsDisplay,重写drawRect方法,有时会把以前drawRect绘制上去,不知道为什么,后来设置了控件的背景颜色backgroundcolor,这个问题就 ...
- [django]在virtualenv下安装的第三方库的使用方法
在virtualenv下安装的第三方库,例如south, requests等,如果想在django中使用,需要先将库添加到settings.py的INSTALLED_APPS中, 以south, re ...
- 关于hover
要想实现a:hover b{} 得到样式的话,a必须是b的父元素
- 2.Nginx优化
[教程主题]:Nginx优化 [课程录制]: 创E [主要内容] Nginx 优化 nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine ...
- lua 位运算
bit = {data32={}} , do bit.data32[i] = ^(-i) end function bit:d2b( arg ) local num = tonumber( arg ) ...
- mvc局部视图
新建一个控制器啊! public ActionResult Index() { ViewBag.title = "this is title!!!"; return View(); ...