我用hibernate+struts+spring做了个程序!
搞了几天了!还是没有成功!在网上发了几个贴了!也下载几个相似示例!
问题还是没有解决哦!!现在的问题是当登录提交表单时!出现如下错误:
HTTP Status 404 - Servlet action is not available--------------------------------------------------------------------------------type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28相关struts-config.xml文件如下:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="userloginForm" type="com.yourcompany.struts.form.UserloginForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="userloginForm"
name="userloginForm"
path="/login"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
validate="false">
<forward name="success" path="/success.jsp" />
</action> </action-mappings> <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/>
</plug-in>
</struts-config>相关的spring配置文件applicationContext.xml如下:<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://127.0.0.1:1433">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sa"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>./UserInfo.hbm.xml</value></list>
</property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userlogindao" class="dao.UserLoginDao">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean name="/login" class="com.yourcompany.struts.action.LoginAction">
<property name="userlogindao">
<ref bean="userlogindao"/>
</property>
</bean>
</beans>
解决方案 »
- sql server 从m行 到 n行 而且全部按倒序排列?
- 急求高手指点web工程 linux下无法运行找不到servlat
- httpunit 测试,如何解决session(在servlet中创建 )的问题(特急)?
- 初学JSP,发现问题了
- 如何把tomcat 和jdk内嵌到工程中
- a类中事例b类,a,b同在一个文件夹下,为啥系统说,不识别b类!!!急!!在线!!散分!!
- 怎么像asp中这样用?
- 请问最好的jsp编辑器?
- *** url中传递参数有个数的限制吗?
- HTML_<Table>_<tr>_<td></td>中數據過長自動換行問題﹗
- 关于过去SESSION问题,多谢!
- JAVA中如何实现1G左右的大文件上传和下载,有没有例子给个参考?
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean name="/login" class="com.yourcompany.struts.action.LoginAction">
<property name="userlogindao">
<ref bean="userlogindao"/>
</property>
</bean>
</beans> 你仔细看下这段代码吧 错误应该在这里
<bean name="/login" class="com.yourcompany.struts.action.LoginAction">
<property name="userLoginDao">
<ref bean="UserLoginDao"/>
</property>
</bean>
你看下你的action配置对了没。action类指定对了没
public class LoginAction extends Action
{
private UserLoginDao userlogindao; public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
UserloginForm userloginForm = (UserloginForm) form;
String userName=userloginForm.getUsername().trim();
String password=userloginForm.getPassword().trim();
if(userlogindao.isUser(userName, password))
{
return mapping.findForward("success");
}
else
{
return null;
}
} public UserLoginDao getUserLoginDao()
{
return userlogindao;
} public void setUserLoginDao(UserLoginDao userlogindao)
{
this.userlogindao=userlogindao;
}
}
jsp内容如下:
<%@ page language="java" pageEncoding="gb2312"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>userLogin.jsp</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<html:form action="/login.do" method="post" focus="username">
<table border="0">
<tr>
<td>用户名:</td>
<td><html:text property="username" /></td>
</tr>
<tr>
<td>密 码:</td>
<td><html:password property="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit value="提交" /></td>
</tr>
</table>
</html:form>
</body>
</html:html>
本人猜测!!可能问题出在applicationContext.xml文件中!!!
比如如下代码:<bean id="userlogindao" class="dao.UserLoginDao">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean name="/login" class="com.yourcompany.struts.action.LoginAction">
<property name="userlogindao">
<ref bean="userlogindao"/>
</property>
</bean>更奇怪的是:
为什么com.yourcompany.struts.action.LoginAction会打不出来呢!也就是IDE找不到包下面的LoginAction类!
<property name="userlogindao">
<ref bean="userlogindao"/>
</property>/*修改过的*/
<property name="userLoginDao"> // 指定注入的DAO的实例名
<ref bean="UserLoginDao"/> //你DAO的文件名
</property>这里<ref bean="UserLoginDao"/>
name属性是自己取的名字,也就是实例名,而下面的bean属性指定的是的文件名!