请教servlet的配置问题?急急急呀!!!! 把你的 web.xml文件帖出来看看你只是这样说说,谁也不知道你的servlet是如何配置的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的web.xml文件还没配置我不会你叫教教我 昏我贴出配置文件,你好好研究吧////////////////////////////web.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <display-name>WebModule1</display-name> <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>com.ibm.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/helloworld</url-pattern> </servlet-mapping></web-app>这样的话,你在页面可以直接调用 HelloWorld servlet 你最好用jbuilder 这样的话,jbuilder会自动帮你管理配置文件 <servlet> <servlet-name>xxx</servlet-name> <servlet-class>xxx.xxx</servlet-class> </servlet>这一部分是配置servlet <servlet-mapping> <servlet-name>xxx</servlet-name> <url-pattern>/xxx</url-pattern> </servlet-mapping>这是配置映射 或者你只需要修改conf下面的这个文件:web.xml将一下这段被注释掉的内容不作注释,并起作用<!-- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>-->重起tomcat,这样你就可以不再需要为每个servlet配置你的web.xml文件了。直接将你的servlet放在classes目录下面,url中就可以访问了。 类的路径你放对了没有?别什么都来问人看了tomcat 自带的例子没?他的文件是如何配置的,研究过了没?///////////////////////是菜鸟,也要做过NO。1 的菜鸟嘛呵呵 你的访问地址有没有问题的啊?帖出来看看还有,你的web.xml是怎么配置的,也帖出来看看吧 <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>Logindenglu</servlet-name> <servlet-class>Logindenglu</servlet-class> </servlet> <servlet-mapping> <servlet-name>Logindenglu</servlet-name> <url-pattern>/Logindenglu</url-pattern> </servlet-mapping></web-app>访问地址是:http://lacalhost:8080/servlet/Logindenglu 你试一下按我的那样配置来配置你的conf下面的web.xml其他不需要配置,把你刚才配置的那个ROOT/WEB-INF/下面的web.xml中的servlet配置先注释掉。访问地址依旧-----我在本机是这样做的,完全没有问题。 我把bean和servlet贴出来,你帮我看看有没有问题//DBConnectionBean.java//用在servlet里的数据库桥接beanimport java.util.*;import java.sql.*;import java.io.*;public class DBConnectionBean{ Connection dbcon=null; Statement stmt=null; ResultSet result=null; String driver=""; String url=""; String user=""; String password=""; public DBConnectionBean(){ try{ InputStream fis =getClass().getResourceAsStream("jdbcsql.properties"); Properties ps=new Properties(); ps.load(fis); driver=ps.getProperty("driver"); url=ps.getProperty("url"); user=ps.getProperty("username"); password=ps.getProperty("userpassword"); } catch(Exception e){ System.out.println(e); } try{ Class.forName(this.driver); System.out.println("加载数据驱动成功!"); }catch(ClassNotFoundException e){ System.out.println("jdbc driver error"); } } public Connection openConnection(){ try{ this.dbcon=DriverManager.getConnection(this.url,this.user,this.password); System.out.println("桥接数据库成功!"); }catch(SQLException e2){ System.out.println(e2); } return dbcon; } public ResultSet executeQuery(String query)throws SQLException{ this.stmt=dbcon.createStatement(); this.result=stmt.executeQuery(query); return result; } public void executeUpdate(String query)throws SQLException{ this.stmt=dbcon.createStatement(); stmt.executeUpdate(query); if(stmt!=null) stmt.close(); } public String getData(int index) throws SQLException{ return result.getString(index); } public int getIntData(int index) throws SQLException{ return result.getInt(index); } public float getFltData(int index) throws SQLException{ return result.getFloat(index); } public boolean next() throws SQLException{ return result.next(); } public void resetResult() throws SQLException{ this.result=null; } public void close() throws SQLException{ if(dbcon!=null) dbcon.close(); if(stmt!=null) stmt.close(); if(result!=null) result.close(); } public void finalize() throws Throwable{ this.close(); } public String replaceString(String str){ char tempArray[]=str.toCharArray(); int iCurr[]=new int[10]; int j=0; for(int i=0;i!=tempArray.length;i++) { int temp=(int)tempArray[i]; if(temp==92){ iCurr[j]=i; j++; } } final int temp2=j+1; String strArray[]=new String[temp2]; strArray[0]=str.substring(0,iCurr[0]); strArray[temp2-1]=str.substring(iCurr[j-1]+1); for(int m=1;m!=strArray.length-1;m++){ strArray[m]=str.substring(iCurr[m-1]+1,iCurr[m]); } str=""; for(int k=0;k!=strArray.length-1;k++){ str=str+strArray[k]+"%5C"; } str=str+strArray[temp2-1]; return str; }}//jdbcsql.proptiesdriver=org.gjt.mm.mysql.Driverurl=jdbc:mysql:forumusername=rootuserpassword='' //Logindenglu.java//验证密码,验证是否以参加考试,传送参数import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import javax.sql.*;import java.sql.*;import java.util.*;public class Logindenglu extends HttpServlet{ //初始化数据库类 static Connection conn; DBConnectionBean dbcb = new DBConnectionBean(); //定义doPost方法用来接受数据 public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException { //定义输出流 req.setCharacterEncoding("gb2312"); res.setContentType("text/html;charset=gb2312"); PrintWriter out = res.getWriter(); //提取表单数据 String DuserID = req.getParameter("DtextID"); String Dpassword = req.getParameter("Dtextpass"); int iDuserID = new Integer(DuserID).intValue(); try { //桥接连接数据库 conn = dbcb.openConnection(); System.out.println("数据库连接成功...."); //定义sql命令,验证密码 PreparedStatement s = conn.prepareStatement ("select SID,userpassword from forumuser where SID=? and userpassword=?"); s.setInt(1,iDuserID); s.setString(2,Dpassword); ResultSet result = s.executeQuery(); boolean rowfound = false; rowfound = result.next(); System.out.println("发送SQL命令成功...."); if(rowfound==false) { System.out.println("用户 " + iDuserID + " 密码验证失败....拒绝登陆...."); out.println("<html>"); out.println("<head>"); out.println("<title>"); out.println("登陆失败"); out.println("</title>"); out.println ("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/youno.js'>"); out.println("</script>"); out.println("<style type='text/css'>"); out.println("<!--"); out.println(".yangshi {font-family: 'Arial', 'Helvetica', 'sans-serif';font-size: 12px;font-weight: lighter;color:#FFFFFF;padding: 4px;border: 1px solid #6633FF;}"); out.println("-->"); out.println("</style>"); out.println("</head>"); out.println("<body>"); out.println("<table width='75%' border='0' align='center' cellpadding='0' cellspacing='1' bgcolor='#6699FF' class='yangshi'>"); out.println("<tr>"); out.println("<td nowrap>"); out.println("<p>"); out.println("<font color='#FF0000'>"); out.println("对不起, "); out.println("</font>"); out.println("<font color='#FFFFFF'>"); out.println(DuserID); out.println("</font>"); out.println("<font color='#FF0000'>"); out.println(" ,登陆失败,您的身份未经许可!"); out.println("</font>"); out.println("</p>"); out.println("<p>"); out.println("<font color='#FF0000'>"); out.println("请"); out.println("<a href='javascript:history.back()'>"); out.println("<font color='#FF7777'>"); out.println("重新登陆"); out.println("</font>"); out.println("</a>"); out.println("检查您的帐号!如果您还未注册,点这里"); out.println("</font>"); out.println("<a href='/myside/examin/zhuce.jsp'>"); out.println("<font color='#FF7777'>"); out.println("马上注册!"); out.println("</font>"); out.println("</a>"); out.println("<font color='#FF0000'>"); out.println("!"); out.println("</font>"); out.println("</p>"); out.println("</td>"); out.println("</tr>"); out.println("</table>"); out.println("</body>"); out.println("</html>"); out.close(); } //如果通过验证,则查询是否已经参加考试 else if(rowfound==true) { int ScoreR = result.getInt(3); if(ScoreR==0) { out.println("<html>"); out.println("<head>"); out.println("<meta http-equiv=Content-Type content='text/html; charset=gb2312'>"); out.println("<title>无标题文档</title>"); out.println ("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/fun.js'>"); out.println("</script>"); out.println("</head>"); out.println("<body onLoad=MM_goToURL('parent','/myside/examin/reading.jsp?userID=" + DuserID + "');return document.MM_returnValue>"); out.println("</body>"); out.println("</html>"); out.close(); } else { out.println("<html>"); out.println("<head>"); out.println("<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>"); out.println("<title>"); out.println("已答题完毕"); out.println("</title>"); out.println ("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/youno.js'>"); out.println("</script>"); out.println("<link href='/myside/examin/img/cssexamin.css' rel='stylesheet' type='text/css'>"); out.println("</head>"); out.println("<body>"); out.println("<div align='center'>"); out.println("您的成绩已经存在,请输入您的用户名,以便查询您的成绩!"); out.println("<form name='form1' method='post' action='/myside/examin/loginC.jsp'>"); out.println("I D:"); out.println("<input name='textfield' type='text' value=" + DuserID + " size='15'>"); out.println("<input type='submit' name='Submit' value='提交'>"); out.println("<p>"); out.println("</p>"); out.println("<font color='#666666' class='banquan'>"); out.println("©Copyright RUSCN (dot) NET China & copy 2001-2003 ™"); out.println("<a href='mailto:[email protected]'>"); out.println("<font color='#0033FF'>"); out.println("徐春军"); out.println("</font>"); out.println("</a>"); out.println("版权所有"); out.println("</font>"); out.println("</div>"); out.println("</body>"); out.println("</html>"); out.close(); } } } //三个常见异常 catch(SQLException e) { System.out.println(e.toString()); } catch(Exception e) { System.out.println(e.toString()); } }} 把你的servlet中的doGet也实现一下不过description The requested resource (/servlet/Logindenglu) is not available的错误应该是你没有配置好。或者这样吧你就用最简单的hello world的servlet来测试一下配置是否正确吧,如果没有问题,就是你的程序问题咯。 求个正则表达式写法,在线等 能不能用java,手动的自己写一个数据库连接池? 如何获取用户登陆的IP? 操作上传文字图片格式的问题 两个表的两个相同字段,当修改其中一个的时候,另一个表中的字段也被修改 高手看过来:怎么在.jsp.html 页面画一个 calendar ?(随当前的月份而变化) 并且点击上面的数字得到值并提交? 急~~ 请进 请问,STRUTS中的ACTION是单例吗? 可否在IIS实现JSP的支持 我的第一个JavaBean不成功,请帮忙 A被转发进B页面,如何从B中获得A的原始地址?(referer头只获得转发的中间地址) smartUpLoad上传多张图片如何判断?
我不会
你叫教教我
我贴出配置文件,你好好研究吧
////////////////////////////
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>WebModule1</display-name>
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>com.ibm.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>这样的话,你在页面可以直接调用 HelloWorld servlet
你最好用jbuilder
这样的话,jbuilder会自动帮你管理配置文件
<servlet-name>xxx</servlet-name>
<servlet-class>xxx.xxx</servlet-class>
</servlet>
这一部分是配置servlet
<servlet-mapping>
<servlet-name>xxx</servlet-name>
<url-pattern>/xxx</url-pattern>
</servlet-mapping>
这是配置映射
将一下这段被注释掉的内容不作注释,并起作用
<!--
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->重起tomcat,这样你就可以不再需要为每个servlet配置你的web.xml文件了。
直接将你的servlet放在classes目录下面,url中就可以访问了。
别什么都来问人
看了tomcat 自带的例子没?他的文件是如何配置的,研究过了没?
///////////////////////
是菜鸟,也要做过NO。1 的菜鸟嘛
呵呵
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description> <servlet>
<servlet-name>Logindenglu</servlet-name>
<servlet-class>Logindenglu</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Logindenglu</servlet-name>
<url-pattern>/Logindenglu</url-pattern>
</servlet-mapping></web-app>
访问地址是:http://lacalhost:8080/servlet/Logindenglu
//DBConnectionBean.java
//用在servlet里的数据库桥接bean
import java.util.*;
import java.sql.*;
import java.io.*;public class DBConnectionBean{
Connection dbcon=null;
Statement stmt=null;
ResultSet result=null;
String driver="";
String url="";
String user="";
String password=""; public DBConnectionBean(){
try{
InputStream fis =getClass().getResourceAsStream("jdbcsql.properties");
Properties ps=new Properties();
ps.load(fis);
driver=ps.getProperty("driver");
url=ps.getProperty("url");
user=ps.getProperty("username");
password=ps.getProperty("userpassword");
}
catch(Exception e){
System.out.println(e);
} try{
Class.forName(this.driver);
System.out.println("加载数据驱动成功!");
}catch(ClassNotFoundException e){
System.out.println("jdbc driver error");
}
}
public Connection openConnection(){
try{
this.dbcon=DriverManager.getConnection(this.url,this.user,this.password);
System.out.println("桥接数据库成功!");
}catch(SQLException e2){
System.out.println(e2);
}
return dbcon;
}
public ResultSet executeQuery(String query)throws SQLException{
this.stmt=dbcon.createStatement();
this.result=stmt.executeQuery(query);
return result;
} public void executeUpdate(String query)throws SQLException{
this.stmt=dbcon.createStatement();
stmt.executeUpdate(query);
if(stmt!=null) stmt.close();
}
public String getData(int index) throws SQLException{
return result.getString(index);
}
public int getIntData(int index) throws SQLException{
return result.getInt(index);
}
public float getFltData(int index) throws SQLException{
return result.getFloat(index);
}
public boolean next() throws SQLException{
return result.next();
}
public void resetResult() throws SQLException{
this.result=null;
}
public void close() throws SQLException{
if(dbcon!=null) dbcon.close();
if(stmt!=null) stmt.close();
if(result!=null) result.close();
}
public void finalize() throws Throwable{
this.close();
}
public String replaceString(String str){ char tempArray[]=str.toCharArray(); int iCurr[]=new int[10]; int j=0; for(int i=0;i!=tempArray.length;i++)
{
int temp=(int)tempArray[i];
if(temp==92){
iCurr[j]=i;
j++; }
} final int temp2=j+1; String strArray[]=new String[temp2];
strArray[0]=str.substring(0,iCurr[0]);
strArray[temp2-1]=str.substring(iCurr[j-1]+1); for(int m=1;m!=strArray.length-1;m++){
strArray[m]=str.substring(iCurr[m-1]+1,iCurr[m]);
}
str="";
for(int k=0;k!=strArray.length-1;k++){
str=str+strArray[k]+"%5C";
}
str=str+strArray[temp2-1];
return str;
}}//jdbcsql.propties
driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql:forum
username=root
userpassword=''
//验证密码,验证是否以参加考试,传送参数import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;
public class Logindenglu extends HttpServlet
{
//初始化数据库类
static Connection conn;
DBConnectionBean dbcb = new DBConnectionBean();
//定义doPost方法用来接受数据
public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
//定义输出流
req.setCharacterEncoding("gb2312");
res.setContentType("text/html;charset=gb2312");
PrintWriter out = res.getWriter(); //提取表单数据
String DuserID = req.getParameter("DtextID");
String Dpassword = req.getParameter("Dtextpass");
int iDuserID = new Integer(DuserID).intValue(); try
{
//桥接连接数据库 conn = dbcb.openConnection(); System.out.println("数据库连接成功....");
//定义sql命令,验证密码
PreparedStatement s = conn.prepareStatement
("select SID,userpassword from forumuser where SID=? and userpassword=?"); s.setInt(1,iDuserID);
s.setString(2,Dpassword);
ResultSet result = s.executeQuery();
boolean rowfound = false;
rowfound = result.next(); System.out.println("发送SQL命令成功....");
if(rowfound==false)
{
System.out.println("用户 " + iDuserID + " 密码验证失败....拒绝登陆....");
out.println("<html>");
out.println("<head>");
out.println("<title>");
out.println("登陆失败");
out.println("</title>");
out.println
("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/youno.js'>");
out.println("</script>");
out.println("<style type='text/css'>");
out.println("<!--");
out.println(".yangshi {font-family: 'Arial', 'Helvetica', 'sans-serif';font-size: 12px;font-weight: lighter;color:#FFFFFF;padding: 4px;border: 1px solid #6633FF;}");
out.println("-->");
out.println("</style>");
out.println("</head>");
out.println("<body>");
out.println("<table width='75%' border='0' align='center' cellpadding='0' cellspacing='1' bgcolor='#6699FF' class='yangshi'>");
out.println("<tr>");
out.println("<td nowrap>");
out.println("<p>");
out.println("<font color='#FF0000'>");
out.println("对不起, ");
out.println("</font>");
out.println("<font color='#FFFFFF'>");
out.println(DuserID);
out.println("</font>");
out.println("<font color='#FF0000'>");
out.println(" ,登陆失败,您的身份未经许可!");
out.println("</font>");
out.println("</p>");
out.println("<p>");
out.println("<font color='#FF0000'>");
out.println("请");
out.println("<a href='javascript:history.back()'>");
out.println("<font color='#FF7777'>");
out.println("重新登陆");
out.println("</font>");
out.println("</a>");
out.println("检查您的帐号!如果您还未注册,点这里");
out.println("</font>");
out.println("<a href='/myside/examin/zhuce.jsp'>");
out.println("<font color='#FF7777'>");
out.println("马上注册!");
out.println("</font>");
out.println("</a>");
out.println("<font color='#FF0000'>");
out.println("!");
out.println("</font>");
out.println("</p>");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
out.close();
}
//如果通过验证,则查询是否已经参加考试
else if(rowfound==true)
{
int ScoreR = result.getInt(3);
if(ScoreR==0)
{
out.println("<html>");
out.println("<head>");
out.println("<meta http-equiv=Content-Type content='text/html; charset=gb2312'>");
out.println("<title>无标题文档</title>");
out.println
("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/fun.js'>");
out.println("</script>");
out.println("</head>");
out.println("<body onLoad=MM_goToURL('parent','/myside/examin/reading.jsp?userID=" + DuserID + "');return document.MM_returnValue>");
out.println("</body>");
out.println("</html>");
out.close();
}
else
{
out.println("<html>");
out.println("<head>");
out.println("<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>");
out.println("<title>");
out.println("已答题完毕");
out.println("</title>");
out.println
("<script language='JavaScript' type='text/JavaScript' src='/myside/examin/img/youno.js'>");
out.println("</script>");
out.println("<link href='/myside/examin/img/cssexamin.css' rel='stylesheet' type='text/css'>");
out.println("</head>");
out.println("<body>");
out.println("<div align='center'>");
out.println("您的成绩已经存在,请输入您的用户名,以便查询您的成绩!");
out.println("<form name='form1' method='post' action='/myside/examin/loginC.jsp'>");
out.println("I D:");
out.println("<input name='textfield' type='text' value=" + DuserID + " size='15'>");
out.println("<input type='submit' name='Submit' value='提交'>");
out.println("<p>");
out.println("</p>");
out.println("<font color='#666666' class='banquan'>");
out.println("©Copyright RUSCN (dot) NET China & copy 2001-2003 ™");
out.println("<a href='mailto:[email protected]'>");
out.println("<font color='#0033FF'>");
out.println("徐春军");
out.println("</font>");
out.println("</a>");
out.println("版权所有");
out.println("</font>");
out.println("</div>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
}
//三个常见异常
catch(SQLException e)
{
System.out.println(e.toString());
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}