像我这种菜鸟,刚刚开始学习JSP知识~~
HTTP Status 404 - /Test/loginSerlet
type Status report
message /Test/loginSerlet
description The requested resource (/Test/loginSerlet) is not available.
我个人遇到的情况是这样的。
<%@page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLInput"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<jsp:useBean id="test" class="demo.dao.MyJDBCConnection" scope="session"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</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>
<form method="post" name="xx" action="loginSerlet">
aa:<input name="username"></input>
password:<input name="password"></input>
<input type="submit" name="Submit" value="Submit">
</form>
<%
List list=test.getList();
out.println(list.size());
for(int i=0;i<list.size();i++){
out.println("sb:"+list.get(i));
}
%>
</body>
</html>
这个action指向的是loginSerlet。而loginSerlet的定义在web.xml 里面
(demo.servlet.LoginSerlet是我类的路径)。注意/loginSerlet的意思是命名,最好别和LoginServlet 重名。区分一下大小写,在这里定义的loginSerlet就是Action里写的那个
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>demo.servlet.LoginSerlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/loginSerlet</url-pattern>
</servlet-mapping>
</web-app>
public class LoginSerlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username + "xxxxxxx" + password);
}
}
这样就差不多读取了用户名和密码.上面的List是从MyJDBCConnection 获取的
package demo.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class MyJDBCConnection {
String username="";
List list=null;
public List getList() {
return list;
}
public String getUsername() {
return username;
}
public MyJDBCConnection() {
// TODO Auto-generated constructor stub
list=new ArrayList();
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/mysql? characterEncoding=utf8";
String user="root";
String password="root";
Connection con=DriverManager.getConnection(url, user, password);
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from help_keyword;");
while(rst.next()){
username=rst.getString(2).toString();
list.add(username);
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// <%
// Class.forName("org.gjt.mm.mysql.Driver").newInstance();
// String path = request.getContextPath();
// String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
// String url="jdbc:mysql://localhost:3306/ss? characterEncoding=utf8";
// String user="root";
// String password="root";
// Connection con=DriverManager.getConnection(url, user, password);
// Statement stmt=con.createStatement();
// ResultSet rst=stmt.executeQuery("select * from test;");
// while(rst.next())
// {
// out.println("<tr>");
// out.println("<td>"+rst.getString("sb")+"</td>");
// out.println("<td>"+rst.getString("sb")+"</td>");
// out.println("</tr>");
// }
// rst.close();
// stmt.close();
// con.close();
// %>
}