jsp+strut2.1施用
?
jsp+strut2.1使用
前几天写的都是c/c++类的给朋友们
现在给个b/s框架类的给朋友们分享一下,全是为了服务大家
?
源码+说明文件后面有下载......
?
我这里用的是myeclipse8.5
File->New->Web Project
?
1.
输入teststruct
这是一个基本的web项目,目前没有加入任何jar,如果你使用eclipse也是同样
建立一个空的web项目
?
?
2.
Myeclipse->Project Capabilities->Add Struts Capabilities
?
?
?
这样strut2所使用的jar,你就引入了
如果你用eclipse,引入你所需要的jar,把下面所有的jar,找到引入的到你的项目中
?
3.
修改struct.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.ui.theme" value="simple" />?
<!-- 解决表单换行 -->
<constant name="struts.action.extension" value="action,qvb" />?
<!-- ?使xxx.action 或是 xxxx.qvb 都是表单 -->
<package name="simple_qvb01" extends="struts-default">
<action name="process" class="com.qvb.first.processjava">
?<result>process_jsp.jsp</result>
</action>
</package>
</struts> ? ?
保存
我们这里表单的名加入了一个qvb自定义
主表单类,com.qvb.first.processjava我们一会再进行编写
结果映射的process_jsp.jsp我们一会再进行编写
这个struct.xml在生成后应该在classes中
也就是要和你生成的class在一个位置
4.
修改WebRoot中的index.jsp
如果你的标签库引入不正常,这里taglib就会有问题
?
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
? <head>
? ? <title>Login</title>
? </head>
?
? <body>
? <s:form action="process.qvb">
? <table border='0' width='260' height='100' align='center'>?
? <tr>
? <td>
? ? <s:textfield name="name">用户名: </s:textfield>
? ?</td>
? </tr>
? <tr>
? <td> ?
? ? <s:password name="pwd">密 码: </s:password>
? </td>
? </tr>
? <tr>
? <td>
? ? ? <s:submit value="登录" />
? </td>
? </tr> ?
? </table>
</s:form>
? </body>
</html>
保存
这里的name pwd 是表单元素的名称,在后面的com.qvb.first.processjava类中要一致
5.
WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"?
xmlns="http://java.sun.com/xml/ns/javaee"?
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
? <welcome-file-list>
? ? <welcome-file>index.jsp</welcome-file>
? </welcome-file-list>
? <filter>
? <filter-name>struts2</filter-name>
? <filter-class>
? org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
? </filter-class>
? </filter>
? <filter-mapping>
? <filter-name>struts2</filter-name>
? <url-pattern>/*</url-pattern>
? </filter-mapping></web-app>
保存
这里使用了struts2的新的过滤
指定了index.jsp的首页
6.
File->New->Package
com.qvb.first
在com.qvb.first包中新建一个类processjava
?
processjava.java
package com.qvb.first;
import com.opensymphony.xwork2.*;
?
public class processjava extends ActionSupport{
?
/**
*?
*/
private static final long serialVersionUID = 1L;
private String name;
private String pwd;
public String getName()
{
return this.name;
}
public String getPwd()
{
return this.pwd;
}
public void setName(String name)
{
this.name=name;
}
public void setPwd(String pwd)
{
this.pwd=pwd;
}
public String execute()
{
return SUCCESS;
}
?
}
保存
这里的name pwd 还有大小写 都要和前面index.jsp对应
7.
表单的结果文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
? <head>
? ? <title>Show process_jsp</title>
? </head>
?
? <body>
? <table border='0' width='200' height='80' align='center'>
? <tr>
? <td align='center'>
? 用户名:
? </td>
? <td align='center'>
? <s:property value="name" />
? </td>
? </tr>
? <tr>
? <td align='center'>
? 密 码:
? </td>
? <td align='center'>
? <s:property value="pwd" />
? </td>
? </tr>
? </table>
? </body>
</html>
保存
这里process_jsp.jsp是已经返回你processjava这个类处理完成的内容了
注意 property 中的 value?
要统一
8.
在项目上点右键
Run As ->Myeclipse Server Application
如果是eclipse自行配置tomcat
这样你输入的用户名与密码最后都要经过processjava的这个类进行处理了
我们这里只是原样输出
9.
打包jar
我们这里打包jar,比较麻烦一点,我们要生成一个jar到lib
这里以Myeclipse Server Tomcat 运行结果打包
如果是eclipse请在tomcat中找
进入命令行中,windows中是运行cmd
? ? ? ? ? ? Mac OSX ?是终端
? ? ? ? ? ? Linux ?也是终端
这里以unix标准来说
cd ~
进入自己的目录,这里主要是找到Workspaces这个目录,
看你在启动myeclipse设定到哪里就进入到哪里
我的是 ~/Workspaces/MyEclipse 8.5/
cd ~/Workspaces/MyEclipse 8.5/
cd .metadata/.me_tcat/webapps
ls ?(windows)是 dir
这时你就看到你的项目最终在tomcat的部署目录了
cd teststruct/
cd WEB-INF/
cd classes
mkdir tmp ? ? (windows)是md
mv com tmp ? ?(windows)是move
jar cvf mytest.jar -C tmp .
rm -rf tmp ? ?(windows)是del tmp 然后再 rd tmp
mv mytest.jar ../lib/ ? (windows)是move 注意目录的表示方式..\lib
上面我们这样做的目的是
为了形成一个封闭的jar,注意的是,struts.xml不要删除
完成后,关闭终端
10.
打包war
利用ant打包war
在WebRoot建立一个make.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="simple1" default="mybuild" basedir=".">
<property name="app.name" value="teststruct"></property>
<property name="app.home" value="."></property>
<property name="usr.home" value="/Users/qvb3d"></property>
<property name="myeclipse.ver" value="MyEclipse 8.5"></property>
<property name="webapps.home" value="${usr.home}/Workspaces/${myeclipse.ver}/.metadata/.me_tcat/webapps"></property>
<target name="mybuild">
<jar jarfile="${app.home}/${app.name}.war" basedir="${webapps.home}/${app.name}">
</jar>
</target>
<target name="clean_all">
<delete file="${app.home}/${app.name}.war"></delete>
</target>
</project>
保存
选中make.xml右键
Run As->Ant Build...
选mybuild
按Run按钮
F5刷新你的项目
这样你就会看到一个teststruct.war
这个文件你以后可以直接部署到tomcat上
11.
手工打包war
cd ~
进入自己的目录,这里主要是找到Workspaces这个目录,
看你在启动myeclipse设定到哪里就进入到哪里
我的是 ~/Workspaces/MyEclipse 8.5/
cd ~/Workspaces/MyEclipse 8.5/
cd .metadata/.me_tcat/webapps
?
jar cvf teststruct.war -C teststruct .
这样一步就升成teststruct.war
这样你打包后会少一个make.xml,不过没有关系的
都是一样的,make.xml就是为了打包而写的
12.
如何配置tomcat,请参看我别的文章
这里我们用tomcat安装一下war测试一下
?
Deploy
- strut2 action属性赋值有关问题
- strut2 s:if test可以和null比较么,有关问题是不能显示登录成功的名字
- strut2 web.xml配置,该怎么处理
- strut2 interceptor定义文件中dojo\.是什么意思解决方法
- strut2 数据校验小结
- strut2 #%跟$三个符号的用法
- Strut2 URL 标签传参给ACTION只能取到第一参数值有关问题
- jsp+strut2.1施用
- strut2.1向action参数传递的乱码有关问题
- strut2 与spring 整合之后创建action哪位高手负责销毁
- STRUT2, JSON, JQUERY, AJAX解决方法
- strut2 表单若不输入,action接收到的是什么部类
- strut2 用户登录跳转到首页 怎么自动从数据库中读取公告显示在首页
- strut2 数据插入操作成功后,怎么给个弹窗提示
- Strut2 + Jquery 数据传输到前台网页的有关问题
- Strut2 性能,速度大讨论,该如何解决