国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

java - ssh integration, jsp cannot find action
phpcn_u1582
phpcn_u1582 2017-06-23 09:14:02
0
1
1405

tool

idea

Construct

maven

Version

struts2.5 spring4.3.5 Hibernate5

question

Developed through annotations, action 404 not found on the jsp page

Error screenshot

Error message

Struts Problem Report

Struts has detected an unhandled exception:

Messages:    
There is no Action mapped for namespace [/] and action name [addUser] associated with context path [].
Stacktraces

There is no Action mapped for namespace [/] and action name [addUser] associated with context path []. - [unknown location]
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:192)
    org.apache.struts2.factory.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
    org.apache.struts2.factory.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:37)
    com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554)
    org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:81)
    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:143)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1441)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
    
You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

  struts.devMode=false
in your WEB-INF/classes/struts.properties file.

Project structure

web.xml configuration

<?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="SSH" version="3.0">

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <!-- 配置Spring的監(jiān)聽器,用于初始化ApplicationContext對象 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:Spring.xml</param-value>
    </context-param>
    <!-- struts2 的配置 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>filterConfig</param-name>
            <param-value>classpath:struts.xml</param-value>
        </init-param>
        <!-- 自動掃描action -->
        <init-param>
            <param-name>actionPackages</param-name>
            <param-value>com.ssh</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

spring configuration

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">

    <context:component-scan base-package="com.lab.action.*"/>
    <context:component-scan base-package="com.lab.dao.*"/>
    <context:component-scan base-package="com.lab.service.*"/>

    <!-- dbcp配置 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" name=" driverClassName">
        <property name="driverClass" value="${driverClass}"/>
        <property name="jdbcUrl" value="${jdbcUrl}"/>
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="hibernateProperties">
            <props>
                <!--配置Hibernate的方言-->
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>

                <!--格式化輸出sql語句-->
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">false</prop>
            </props>
        </property>

        <!--自動掃描實(shí)體 -->
        <property name="packagesToScan" value="com.lab.entity"/>
    </bean>

    <!-- 用注解來實(shí)現(xiàn)事務(wù)管理 -->
    <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
    <tx:annotation-driven transaction-manager="txManager"/>

</beans>

struts configuration

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>

    <!-- 指定由spring負(fù)責(zé)action對象的創(chuàng)建 -->
    <constant name="struts.objectFactory" value="spring" />
    <!-- 所有匹配*.action的請求都由struts2處理 -->
    <constant name="struts.action.extension" value="action" />
    <!-- 是否啟用開發(fā)模式 -->
    <constant name="struts.devMode" value="true" />
    <!-- struts配置文件改動后,是否重新加載 -->
    <constant name="struts.configuration.xml.reload" value="true" />
    <!-- 設(shè)置瀏覽器是否緩存靜態(tài)內(nèi)容 -->
    <constant name="struts.serve.static.browserCache" value="false" />
    <!-- 請求參數(shù)的編碼方式 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!-- 每次HTTP請求系統(tǒng)都重新加載資源文件,有助于開發(fā) -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 文件上傳最大值 -->
    <constant name="struts.multipart.maxSize" value="104857600" />
    <!-- 讓struts2支持動態(tài)方法調(diào)用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- Action名稱中是否還是用斜線 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 允許標(biāo)簽中使用表達(dá)式語法 -->
    <constant name="struts.tag.altSyntax" value="true" />
    <!-- 對于WebLogic,Orion,OC4J此屬性應(yīng)該設(shè)置成true -->
    <constant name="struts.dispatcher.parametersWorkaround" value="false" />

    <package name="basePackage" extends="struts-default">

    </package>
</struts>

userAction.java

package com.lab.action;

import com.lab.entity.User;
import com.lab.service.UserManager;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import javax.annotation.Resource;

/**
 * Created by young on 2017/6/17.
 */

@Results({@Result(name = "success", location = "/success.jsp"),
        @Result(name = "failure", location = "/failure.jsp")})
public class UserAction extends ActionSupport {
    @Resource
    private UserManager userManager;
    private User user;

    @Action(value = "addUser")
    public String addUser() {
        try {
            userManager.addUser(user);
        } catch (Exception e) {
            e.printStackTrace();
            return "failure";
        }
        return "success";

    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

}

refer to

Mainly for reference, annotation-based SSH simplifies configuration to the extreme

phpcn_u1582
phpcn_u1582

reply all(1)
滿天的星座

UserAction class plus @Namespace("/")

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template