SSH环境搭建
来源:互联网 发布:linux只能ping通自己 编辑:程序博客网 时间:2024/06/10 16:30
转载来源于:http://blog.csdn.net/xuefeng0707/article/details/8888484
1. 资源准备
2. 新建空白Web项目
新建一个空白的Web项目,取名为ssh,目录结构如图:
部署到Tomcat中:
3. 配置Struts2
复制Struts2必需的jar文件到WEB-INF/lib中,并修改web.xml,加入Struts2的filter:
添加一个测试Action,并配置struts.xml:
LoginAction的代码如下:
- package com.xuefeng.ssh.action;
- import com.opensymphony.xwork2.Action;
- import com.xuefeng.ssh.service.LoginService;
- import com.xuefeng.ssh.service.impl.LoginServiceImpl;
- public class LoginActionimplements Action {
- // 对应于login.jsp的输入,需要getter和setter
- private String username;
- private String password;
- /**
- * 验证登录的逻辑
- */
- private LoginService loginService;
- public LoginAction() {
- loginService = new LoginServiceImpl();
- }
- public String execute()throws Exception {
- if (loginService.validate(username, password)) {
- return SUCCESS;
- }
- return INPUT;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
login.jsp代码如下:
- <%@ page language="java"contentType="text/html; charset=UTF-8"%>
- <html>
- <head>
- <title>登录页面</title>
- </head>
- <body>
- <formaction="login.action"method="post">
- <tablecellpadding="0"cellspacing="0"norder="0"align="center">
- <caption>用户登录</caption>
- <tr>
- <td>用户名:</td>
- <td><inputtype="text"name="username"></td>
- </tr>
- <tr>
- <td>密 码:</td>
- <td><inputtype="text"name="password"></td>
- </tr>
- <tr>
- <tdcolspan="2"><inputtype="submit"value="登录"></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
login.jsp里的input的name需要和LoginAction里的属性名一致。
这样,此时访问登录页面进行测试:
登录成功后,按照struts.xml里的设置,跳转(redirect)到success.jsp:
这里的测试账号在LoginServiceImpl中设置为test和test,如果输错,按照struts.xml里的设置,回到登录界面。
4. 配置Spring
4.1 添加Spring支持
添加Spring需要的jar和配置文件applicationContext.xml。jar可以从Struts的lib中复制,也可以到Spring的官网下载Spring的RELEASE。
然后,修改web.xml,添加Spring支持:
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
4.2 Struts集成Spring
Struts是以plugin的方式来集成Spring的,添加struts2-spring-plugin-2.3.4.1.jar,在Struts初始化时,会去加载该jar中包含的struts-plugin.xml,以StrutsSpringObjectFactory取代默认的StrutsObjectFactory,从而达到以Spring容器管理对象的目的。
然后,修改applicationContext.xml,配置已有的Action对象:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
- "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <bean id="loginAction"class="com.xuefeng.ssh.action.LoginAction"scope="prototype"></bean>
- </beans>
最后,修改struts.xml中Action的引用,把Action的class指定为Spring中bean的id,这样当创建Action的时候,就会以Spring的方式来创建对象了:
- <actionname="login"class="loginAction">
- <resultname="input"type="redirect">/login.jsp</result>
- <resultname="success"type="redirect">/success.jsp</result>
- </action>
4.3 以Spring管理对象创建方式
把Action对象和Spring管理的对象结合起来,在applicationContext.xml中配置:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
- "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <bean id="loginAction"class="com.xuefeng.ssh.action.LoginAction"scope="prototype">
- <propertyname="loginService"ref="loginService"></property>
- </bean>
- <beanid="loginService"class="com.xuefeng.ssh.service.impl.LoginServiceImpl"></bean>
- </beans>
这样,就不需要再LoginAction中显示的对loginService赋值了。
5. 配置Hibernate
5.1 添加必需jar
5.2 添加映射文件和DAO层代码
5.3 使用Spring配置Hibernate
修改applicationContext.xml:
- <?xmlversion="1.0"encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
- "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <bean id="loginAction"class="com.xuefeng.ssh.action.LoginAction"
- scope="prototype">
- <propertyname="loginService"ref="loginService"></property>
- </bean>
- <bean id="loginService"class="com.xuefeng.ssh.service.impl.LoginServiceImpl">
- <propertyname="userDao"ref="userDao"/>
- </bean>
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <propertyname="driverClassName">
- <value>com.mysql.jdbc.Driver</value>
- </property>
- <propertyname="url">
- <value>jdbc:mysql://localhost:3306/ssh</value>
- </property>
- <propertyname="username">
- <value>root</value>
- </property>
- <propertyname="password">
- <value>root</value>
- </property>
- </bean>
- <beanid="sessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <propertyname="dataSource"ref="dataSource">
- </property>
- <propertyname="mappingResources">
- <list>
- <value>com/xuefeng/ssh/model/User.hbm.xml</value>
- </list>
- </property>
- <propertyname="hibernateProperties">
- <props>
- <propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <propkey="hibernate.hbm2ddl.auto">update</prop>
- </props>
- </property>
- </bean>
- <bean id="userDao"class="com.xuefeng.ssh.dao.impl.UserDaoHibernateImpl">
- <propertyname="sessionFactory"ref="sessionFactory"/>
- </bean>
- </beans>
对象的引用链为:
loginAction - loginService - userDao - sessionFactory - dataSource
工程代码下载:http://download.csdn.net/detail/xuefeng0707/5336394
- SSH环境开发搭建
- SSH开发环境搭建
- ssh环境搭建
- SSH环境的搭建
- SSH环境搭建
- SSH环境搭建
- 搭建SSH开发环境
- ssh搭建开发环境
- SSH搭建环境
- SSH环境搭建
- SSH环境搭建
- ssh环境搭建
- java ssh环境搭建
- SSH环境搭建
- SSH环境搭建
- 搭建ssh(Struts2)环境
- SSH之环境搭建
- SSH环境搭建
- 关于Relay Log无法自动删除的问题(Neither --relay-log nor --relay-log-index were used)
- 设计模式原则详解
- 服务器的散热和Linux中温度的检测
- HTML部分标签2
- Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题
- SSH环境搭建
- 【安卓开发】CubieBoard2解决声音默认输出设置
- Modal一共有四种切换形式(modalTransitionStyle):
- 11私有变量
- JS--命名空间的理解(namespace)
- makefile常用讲解二
- Google启封后依旧不能用
- 偶奇偶他回家哦ijoknbnjj
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法