Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Struts2 с чего начать?


Автор: drdoomenator 15.11.2007, 13:41
Короче надо написать страничку которая редактирует скл базу, написал страничку с использованием JSTL, dbUtils сказали заюзай Struts2, не могли бы ли вы подсказать ресурс по Struts2 на великом могучем, заранее спасибо

Автор: alx3 16.11.2007, 19:40
К сожалению ко второму стратсу и на аглицком нет нормальной доки (на оф. сайте фиговая), не то что на русском. Вот когда "Struts2 in action" выйдет, станет получше с этим. А пока можно использоваьт оф. доку и книжку webwork in action, практически все что там написано, применимо к стратс2

Автор: Tony 20.11.2007, 17:52
Посмотри WEBWork тоже самое 4то и стратс2 (ну по4ти smile) Если ты писал струс1.То быстро разберёшся.

Автор: Nikola661 5.8.2009, 05:30
Объясните плиз!!!
Перехожу со Struts на Struts2. Пипец он координально изменился!!! Скачал struts2-blank-2.1.6.war ничё понять не могу: где, что, с чем соединяетя, где прописывается!?!?!?
Кто знает объясните !!!

Автор: fixxer 5.8.2009, 09:42
По-русски можно почитать http://lar.ru/blog/topics/struts2

Автор: Nikola661 5.8.2009, 10:26
Цитата(fixxer @  5.8.2009,  09:42 Найти цитируемый пост)
По-русски можно почитать здесь

Спасибо, немного помогло. Чуть-чуть начал вникать и с примером разобрался, даже свой Hello World написал!!!

Не могу понять, что за WARNING выходит в консоли веб-сервера:
Код

..............
[05.08.09 15:53:22:265 ULAST] 0000002c SRTServletRes W   WARNING: Cannot set status. Response already committed.
[05.08.09 15:53:22:281 ULAST] 0000002c SRTServletRes W   WARNING: Cannot set header. Response already committed.




Автор: Nikola661 9.2.2010, 11:01
Я начал использовать Struts 2. Вроде работает когда обращаешься к классу вот так:
http://localhost:8080/struts2pattern/FirstRun
                                                                          или
http://localhost:8080/struts2pattern/FirstRun.action

Проект открывается только так:
http://localhost:8080/struts2pattern/index.jsp
Но проект не открывается если пишешь так:
http://localhost:8080/struts2pattern

в логе веб-сервера пишет:
Код

[09.02.10 15:56:05:218 ULAT] 00000027 Dispatcher    W org.apache.commons.logging.impl.Jdk14Logger warn Could not find action or result
                                 There is no Action mapped for namespace / and action name . - [unknown location]
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:177)
    at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
    at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:458)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:701)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:646)
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.invokeFilters(DefaultExtensionProcessor.java:628)
    at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.invokeFilters(DefaultExtensionProcessor.java:145)
    at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:467)
    at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
    at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
    at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)


Использовал библиотеки:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
freemarker-2.3.13.jar
junit-3.8.1.jar
ognl-2.6.11.jar
spring-test-2.5.6.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar


Вот 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>struts2pattern</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>
    
    <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>
</web-app>



Вот 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>
    <!--
    <constant name="struts.devMode" value="false" />
    <constant name="struts.configuration.xml.reload" value="false" />
    <constant name="struts.i18n.reload" value="false" />
    -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- Add packages here -->
    <package name="default" extends="struts-default">
     <action name="FirstRun" class="ru.example.app.FirstAction">
            <result name="success">/index.jsp</result>
        </action>
    </package>
</struts>



Вот class FirstAction.java
Код

import java.util.List;
import java.util.Map;

import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;

public class FirstAction extends ActionSupport implements SessionAware {
    private Map<String,Object> session;
    public Map<String,Object> getSession() {
        return session;
    }
    public void setSession(Map<String, Object> session) {
        this.session = session;
    }
    /*****************************************************/
    public String execute() {
        System.out.println("Action is runing!!!");
        
        return SUCCESS;
    }
}


Вот index.jsp
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
<head>
<title>index</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="GENERATOR" content="Rational Software Architect">
</head>
<body>
    <s:a href="FirstRun">RUN 1</s:a><br>
    <a href="FirstRun.action" >RUN 2</a>
</body>
</html>



Автор: Ares4322 11.2.2010, 12:14
Ну как ничего нет?!
вот на русском - http://www.java2ee.ru/frameworks/struts2/index.html
Оно в общем и целом, но в тему.
А на их офиц сайте инфа нормальная, просто порыться надо - http://struts.apache.org/2.1.8.1/docs/guides.html
Ну и книги конечно никто не отменял)
Сам сейчас изучаю и внедряю)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)