zoukankan      html  css  js  c++  java
  • struts2配置

    1.下载所需包 在struts2 官网下载相关包,插入到WebConetent/WEB-INF/lib下。struts2里的包比較多,能够先加入一些主要的包。再依据调试结果加入。我程序加入例如以下包就可以执行:

    2.新建一个项目,按1加入包。

    3.配置web.xml.主要是加入struts2过滤器

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>FirstStruts2</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <!--struts2 过滤器!  -->
      <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>
    4.配置struts.xml(不是struts2.xml) 这里说下项目的功能。就是index.jsp中有个表单,假设输入为空则转到error.jsp。否则转到success.jsp

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
    <struts>
    	<!-- 声明包 -->
        <package name="cqu" extends="struts-default">
        	<!-- 定义action -->
        	<action name="greeting" class="cqu.GreetingAction">
        		<!-- 定义成功的映射页面 -->
        		<result name="success">success.jsp</result>
        		<!-- 定义失败的映射页面 -->
        		<result name="error">error.jsp</result>
        	</action>
        </package>
    </struts>
    
    注意上面的DOCTYPE声明中的dtds版本号(我的版本号是struts-2.3.16.3)

    5.GreetingAction用来处理表单信息,推断是不是无效的

    package cqu;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class GreetingAction extends ActionSupport {
    
    	private static final long serialVersionUID = 1L;
    	private String username;
    	public String execute() throws Exception{
    		if(username==null||"".equals(username)){
    			return ERROR;
    		}else {
    			return SUCCESS;
    		}
    	}
    	public String getUsername(){
    		return username;
    	}
    	public void setUsername(String username){
    		this.username=username;
    	}
    }
    
    6.index.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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>Insert title here</title>
    </head>
    	<form action="greeting.action" method="post">
    	please input your name:<input type="text" name="username">
    	<input type="submit" value="submit">
    	</form>
    <body>
    
    </body>
    </html>
    7.success.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!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>Insert title here</title>
    </head>
    <body>
    <s:property value="username"/><br>
    welecome@!!!!!!!!
    </body>
    </html>

    当中
    <s:property value="username"/>
    是获取提交表单中的数据。<s:/>是struts2的标签。

    使用之间要插入该标签库。见第三行。

    8.errror.jsp略

    9.以下是整个项目文件夹。注意xml存放的位置!!

    !!jsp文件放在WebContent下web.xml放在WEB-INF下,struts.xml放在src下而不是放在包内。





  • 相关阅读:
    Convert.ToInt32()和int.Parse()的区别
    C# 提取字符串中的数字
    asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
    angularjs如何在ng-repeat过程中控制字符串长度超过指定长度后面内容以省略号显示
    html label 标签的 for 属性
    bootstrap-paginator 分页控件的使用
    时间戳的转换
    Server.MapPath() 解析
    Angularjs 日期格式转换
    1.docker 慕课入门
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7200125.html
Copyright © 2011-2022 走看看