HelloStruts2

很久没进行web开发,感觉快要忘光了,重拾起快遗忘的记忆,从struts2基础学起。
第一步,当然是从官网下载最新的struts2,地址http://struts.apache.org/,我习惯下载-all.zip,解压,准备开始第一个struts2。

第二步,打开MyEclipse,我用的是MyEclipse10,新建一个Dynamic web project工程,命名为“HelloStruts2”。

第三步,将解压后lib目录下的commons-logging-1.1.1.jar、freemarker-2.3.19.jar、ognl-3.0.5.jar、struts2-core-2.3.4.1.jar、xwork-core-2.3.4.1.jar,这个版本的struts2同时需要commons-fileupload-1.2.2.jar、commons-io-2.0.1.jar、commons-lang3-3.1.jar。这样子貌似可以了,但当运行时死活不行,网上查了后说仍需要一个不存在struts.zip里面的javassist-3.7.ga.jar.......这样在MyEclipse直接run on server运行通过,但部署到tomcat,通过tomcat运行的时候报了class cast异常,最终发现在tomcat的context.xml文件里面加入<Loader delegate="true" />元素后总算可以正常运行了。

第四步,修改web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" 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>HelloStruts2</display-name>

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>


第五步,在HelloStruts2的WebContent文件夹下新建一个login.jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>登录页面</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<form action="login.action" method="post">
username:<input type="text" name="username"><br/>
password:<input type="password" name="password"><br/>
<input type="submit" value="submit">
</form>
</body>
</html>


第六步,新建一个action,不用像struts1一样强制继承action,更容易维护和写单元测试,也不会与servletAPI联系过紧。

package cn.com.hellostruts2.action;

public class LoginAction {
private String username;

private String password;

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;
}

public String execute() throws Exception {
return "success";
}
}


第七步,在src目录下新建一个struts.xml文件,MyEclipse可以替我们生成xml with struts,但我更偏向从struts2.zip解压包中的app文件夹中的war中解压提取一个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="struts2" extends="struts-default">
<action name="login" class="cn.com.hellostruts2.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>


第八步,在WebContent文件夹下新建一个result.jsp文件。

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>登录成功页面</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
username:${requestScope.username } <br/>
password:${requestScope.password }
</body>
</html>


以上是代码的编写工作,测试的话可以直接通过MyEclispe集成tomcat,并用run on server来运行,或者右键点击HelloStruts2这个项目的名称,在菜单中选择myeclipse,再选择add and remove project,配置发布的地址就可以了。
最后,运行tomcat,打开浏览器,在浏览器中输入 http://localhost:8080/struts2/login.jsp 就可以了。

重拾struts2,发现很多东西都忘了,但还是觉得入门其实不难,用了框架,简化了很多的操作,以后继续认真学习web开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值