java web的html中调用servlet怎么显示空白页,点击登录后跳转过LoginServlet,但是页面显示空白。怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web的html中调用servlet怎么显示空白页,点击登录后跳转过LoginServlet,但是页面显示空白。怎么回事?相关的知识,希望对你有一定的参考价值。
package servlets;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.*;
public class LoginServlet extends HttpServlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
doPost(request,response);
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
String user=req.getParameter("user");
RequestDispatcher rd=null;
if(user!=null&&user.equals("admin"))
req.getSession().setAttribute("login", "true");
rd=req.getRequestDispatcher("/admin.html");
rd.forward(req, resp);
else if(user!=null&&user.equals("common"))
req.getSession().setAttribute("login", "true");
rd=req.getRequestDispatcher("/common.html");
rd.forward(req, resp);
else
resp.sendRedirect("/ch08/login.html");
web的配置
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>LoginValidationFilter</filter-name>
<filter-class>servlets.LoginValidationFilter</filter-class>
</filter>
<filter-mapping>
login.html
<form method="post" action="/ch08/servlet/LoginServlet">
<table bordercolor="blue">
<tr align="center"><td colspan="2">选择用户</td></tr>
<tr align="center"><td width="75%">
<input type="radio" name="user" value="admin">管理员
<input type="radio" name="user" value="common">普通用户
</td>
<td>
<input type="submit" name="login" value="登录">
</td>
</tr>
</table>
</form>
只是web.xml中的filter没贴完全 看看是否进入了拦截器中。
空白画面一般是指进入了servlet而没有跳转出来,不是路径错误。 参考技术A <servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
改成
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/ch08/servlet/LoginServlet</url-pattern>
</servlet-mapping>
试试看行不,要不在servlet中的doPost中打印一句话,在点击提交的时候看看有没有打印出来那一句话。 参考技术B caoyunhui73这个回答 就绝对行
你要理解servlet和html两个之间的目录关系,也就是说你要根据html所在目录找到servlet所在目录 参考技术C action="LoginServlet"
<url-pattern>/ch08/servlet/LoginServlet</url-pattern>
java eclipse 创建web project 项目 HTML 怎么连接oracle数据库
用eclipse 创建 web project 项目 然后创建 HTML 做一个东西 需要连接oracle数据库 求大神指教
流程我懂 缺少确切代码 方法
下面是实现的几种方法:
第一种方法:
将按钮放到form表单中,当按钮点击时提交表单(或者直接将input的type属性定义成submit),表单可以指向JSP或Servlet,在JSP或Servlet里调用java程序
第二种方法:
在按钮的onclick时间中添加js代码
self.location="url";其中url指向JSP或Servlet
第三种方法:
使用第三方的javascript包,dwr是一个不错的选择:
1、需要准备dwr的jar包,并将之放到lib目录下;
2、修改web.xml文件,添加DWRServlet的映射;
3、配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行时给哪些JavaBean生成相应的javascript库;
4、将需要的脚本库引入到html页面中就可以通过dwr的API访问java类了。
第四种方法:
使用MVC框架更简单,以struts为例,可以仿照第一或第二种方法,将url替换成配置文件中配置的地址就能访问java程序了。 参考技术A 老师教的好像html是静态网页,不能连数据库.
你改成jsp.
先导包,链接数据库的jdbc.
<jsp:forward page="sssss"></jsp:forward>
sssss是jsp或者servlet里在sssss中写(如果是servlet,则在它的doGet方法里)
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
catch (Exception e) e.printStackTrace();
用pstmt
pstmt = conn.prepareStatement(sqlString);
如果是查询则
rs = pstmt.executeQuery();
每读一行数据之前要用判断rs.next()真假,真,则开始读取.
while (rs.next())
int id = rs.getInt("id");//getString("name");等等
之后要关掉conn,pstmt,rs.
其中会有异常处理,自己按照eclipse的提示,加上trycatch块吧.本回答被提问者和网友采纳 参考技术B 首先要写一个连接数据库类,类里驱动必须指明oracle。再加插入方法。
我也缺少确切需求。
说简单点,你自己查下oracle连接数据库的通用类就可以啦。 参考技术C 用jdbc或者hibernate等等。都可以连接数据库
不明白的可以hi我
以上是关于java web的html中调用servlet怎么显示空白页,点击登录后跳转过LoginServlet,但是页面显示空白。怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章