笔者只用Struts2实现数据库的查询
struts.xml文件为<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts" extends="struts-default">
<action name="selectpage" class="controller.Select" method="selectMessage">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>JDBC连接数据库没有错误。但部署服务器运行该工程,则出现如下错误:type: Status reportmessage: /dbSelect/selectpage.actiondescription: The requested resource (/dbSelect/selectpage.action) is not available.
这错误可能是因为什么原因引起的呢?
struts.xml文件为<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="struts" extends="struts-default">
<action name="selectpage" class="controller.Select" method="selectMessage">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>JDBC连接数据库没有错误。但部署服务器运行该工程,则出现如下错误:type: Status reportmessage: /dbSelect/selectpage.actiondescription: The requested resource (/dbSelect/selectpage.action) is not available.
这错误可能是因为什么原因引起的呢?
<result name="success">/success.jsp</result>
里面的斜杠不要把!
<result name="success">success.jsp</result>
从你配的Action来看,应该是/selectpage.action这个吧,因为你的Action貌似放置在默认的namespace下的
1.在JSP页面里调用Action的路径改成/selectpage.action
2.<package name="struts" extends="struts-default">改成
<package name="struts" namespace="dbSelect" extends="struts-default">
个人建议第一种,方便,刷新下界面就可以重新运行了,若是第二种,需要重新部署
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>主页</title>
</head>
<body>
<a href="selectpage.action">查询</a>
</body>
</html>
success.jsp:<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>主页</title>
</head>
<body>
sgdfgfsdgfsdgsd
<table border="1">
<c:forEach items="${message}" var="a">
<tr>
<td>${a.mid }</td>
<td>${a.reciever }</td>
<td>${a.revieveDate }</td>
<td>${a.acceptor }</td>
<td>${a.messageText }</td>
</tr>
</c:forEach>
</table></body>
</html>Select.java:package controller;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;import voo.MessageInfo;import db.Condb;public class Select extends ActionSupport { public String selectMessage(){
Condb db=new Condb();
Connection con=db.getCon();
PreparedStatement pstmt=null;
ResultSet rs=null;
ArrayList arr=new ArrayList();
System.out.println("jasfja;f f");
try {
pstmt=con.prepareStatement("select * from MessageInfo");
rs=pstmt.executeQuery();
while(rs.next()){
MessageInfo m=new MessageInfo();
m.setMid(rs.getInt(1));
m.setReciever(rs.getString(2));
m.setRecieveDate(rs.getDate(3));
m.setAcceptor(rs.getString(4));
m.setMessageText(rs.getString(5));
arr.add(m);
}
ActionContext.getContext().put("message", arr);
return "success";
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "error";
}
}
}各位大侠,互相学习下~~