关于Struts的一个小问题

时间:2023-01-31 17:38:04
各位大虾早上好,小弟初学Struts,现有一个问题想向大家请教.
我是想在手机客户端中请求服务端JSP资源.手机客户端是以URL+请求字符串的形式用Get方法(比如http://localhost:8080/cellbank/login.jsp?username=lcg&pwd=123)来请求服务端资源的,现在服务端的编程我想套用Struts框架,请问在这种情况下怎样将请求映射?

我曾尝试如下的做法:
(1)客户请求为 http://localhost:8080/cellbank/Login.do?username=lcg&pwd=123
(2)在web.xml中加入:
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
(3)将struts.jar加入/WEB-INF/lib目录下
(4)在struts-config.xml中加入:
  <action-mappings>

    <action path="/Login"
      type="com.lcg.LoginAction" >
      <forward name="right" path="/right.jsp"/>
      <forward name="wrong" path="/wrong.jsp"/>
    </action>

  </action-mappings>
(5)编写com.lcg.LoginAction继承Action,并在execute()方法中进行数据处理
但实际上ActionServlet无法将/Login.do映射到com.lcg.LoginAction,小弟初学Struts框架,很多地方都不是很清楚,请问这种情况下是否可以用Struts框架,如果可以用,应该怎么映射?

7 个解决方案

#1


你把运行时的错误信息贴出来看看啊!配置没有不对的地方。

#2


问题是ActionServlet不是把Login.do当做映射来处理,而是当做请求页面来处理了,你可以在URL栏中输入http://localhost:8080/cellbank/Login.do?username=lcg&pwd=123,可以看到运行报错,告诉你Login.do资源不存在.

#3


如果是:

在URL栏中输入http://localhost:8080/cellbank/Login.do?username=lcg&pwd=123,可以看到运行报错,告诉你Login.do资源不存在.

一般是你的struts还没起作用。
或者是你的Struts-config。xml配置文件有问题。


简化一下你的程序。做个调试看看。。。

#4


可是你能看看我以上的配置步骤有什么问题吗?

#5


up

#6


你的配置没看出什么不妥的。
你把错误信息贴出来看看吧。。。

#7


问题找到了,原来是web.xml和struts-config.xml没有放在/WEB-INF目录下,谢谢各位了

#1


你把运行时的错误信息贴出来看看啊!配置没有不对的地方。

#2


问题是ActionServlet不是把Login.do当做映射来处理,而是当做请求页面来处理了,你可以在URL栏中输入http://localhost:8080/cellbank/Login.do?username=lcg&pwd=123,可以看到运行报错,告诉你Login.do资源不存在.

#3


如果是:

在URL栏中输入http://localhost:8080/cellbank/Login.do?username=lcg&pwd=123,可以看到运行报错,告诉你Login.do资源不存在.

一般是你的struts还没起作用。
或者是你的Struts-config。xml配置文件有问题。


简化一下你的程序。做个调试看看。。。

#4


可是你能看看我以上的配置步骤有什么问题吗?

#5


up

#6


你的配置没看出什么不妥的。
你把错误信息贴出来看看吧。。。

#7


问题找到了,原来是web.xml和struts-config.xml没有放在/WEB-INF目录下,谢谢各位了