struts2/spring3/hibernate3
1. 打开Eclipse,新建Web工程,把需要的jar文件都放入lib或导入。
(Struts2的,Spring的,Hibernate的。还有他们需要的。)
只用struts不用spring时不要加struts2-spring-plugin-xxx.jar,要不会报错。
(关于手工建立Web工程:Web工程就是一个叫WEB-INF文件夹的文件夹,里面有个web.xml文件。
把WEB-INF文件夹随便放到一个test文件夹里,这个test就是Web工程了。
再在WEB-INF里面新建lib和classes两个文件夹。
lib放jar文件。classes放自己编译出的类文件。)
目前的lib
空的web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" 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"> <display-name> SSHibernate</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
2. src目录下新建一个struts.xml和struts.properties文件,内容先空着就行了。(Eclipse会把src下的文件复制到classes下面,手工建的话就直接写在classes文件夹下。)
配置文件都全了,空的工程的web.xml和两个struts的配置文件。
3. 创建一个登录页面。login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>登录页面</title>
</head>
<body>
<!-- 提交请求参数的表单 -->
<form action="Login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/><input type="reset" value="重填"/></td>
</tr>
</table>
</form>
</body>
</html>
在tomcat的server.xml的host元素中加入
<Context path="/ssh" docBase="F:\workspace\SSHibernate\WebContent" debug="0" crosscontext="true" reloadable="true"/>
先启动tomcat运行一下。http://localhost:8080/ssh
现在点登录会报服务器错误。
4. 实现控制器。LoginAction.java
控制器类中有一个返回String的execute方法。
package com.zhch;
public class LoginAction {
private String username;
private String password;
//处理用户请求的execute方法
public String execute(){
if(getUsername().equals(getPassword())){
return "success";
}else{
return "error";
}
}
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;
}
}
5. 配置过滤器和Action。
web.xml中加入两个过滤器和它们的映射。
org.apache.struts2.dispatcher.FilterDispatcher就是struts的过滤器。
org.apache.struts2.dispatcher.ActionContextCleanUp是与其它过滤器一起用时用到的,现在不加也行。这个要放在前面。
struts.xml中的
<include file="struts-default.xml"/>
是struts2的默认配置,一般加进来。
struts.xml中加入Action的类与名字的映射。这里定义了两个结果页面。
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" 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"> <display-name> SSHibernate</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <!-- 本次加入开始 --> <filter> <filter-name> struts-cleanup </filter-name> <filter-class> org.apache.struts2.dispatcher.ActionContextCleanUp </filter-class> </filter> <filter> <filter-name> struts2 </filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name> struts-cleanup </filter-name> <url-pattern> /* </url-pattern> </filter-mapping> <filter-mapping> <filter-name> struts2 </filter-name> <url-pattern> /* </url-pattern> </filter-mapping> <!-- 本次加入结束 --> </web-app>
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<!-- 配置的Login的Action -->
<package name="Struts2_IoC" extends="struts-default">
<action name="Login" class="com.zhch.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
6. 新建两个需要的结果页面。welcome.jsp error.jsp
welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
您已经登录。
</body>
</html>
7. 再运行tomcat,可以进入到不同的页面。
总结
使用struts的步骤
1. 建好Web工程,导好lib。
2. 建好登录页面和结果页面。
3. 创建Action的类。
4. 配置web.xml的过滤器。
5. 在struts.xml中配置好Action。运行。