我需要从我的servlet中的double值到JSP中的标记.我的doGet()正在发送带有ArrayList值的格式化HTML表格,所以在我开始工作后我决定解决这个问题.
Servlet的:
//代码获取我需要的表格
//Send back the result, this all works good
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(returnAsHTML.toString());
Run Code Online (Sandbox Code Playgroud)
我添加了什么来尝试获得double值
//Send back the result
double test = 20;
request.setAttribute("Test",test);
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(returnAsHTML.toString());
getServletContext().getRequestDispatcher("index.jsp").forward(request,response);
Run Code Online (Sandbox Code Playgroud)
在JSP中:
<!-- This variable is unresolved -->
<small>Test : ${Test}</small>
Run Code Online (Sandbox Code Playgroud)
转发似乎使整个党都崩溃了.我是JSP新手,我确信我错过了一些小事.我需要在那里保留response.getWriter()的东西,它获取了我需要的大量信息.现在我只是不知道如何获得我需要的双重值,因为它们将显示在页面的整个不同部分.
我刚刚发现了OpenShift,我喜欢它!我想尝试使用与mysql通信的tomcat应用程序. 我能够通过本教程安装tomcat 并且我的tomcat服务器启动并运行!我还安装了mysql和phpmyadmin,但现在我必须部署我的servlet tomcat服务器.我的servlet与mysql通信,但我无法找到插入Openshift给我的变量的位置!有没有人有任何想法?Thnx in advandce Andi :)
OPENSHIFT VARIABLES是:
Root User :andi
RootPassword: andi
Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
Run Code Online (Sandbox Code Playgroud)
我的服务:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
@WebServlet("/HelloWorldServlet")
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public HelloWorldServlet() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String titulli = request.getParameter("titulli");
String ingredientet …Run Code Online (Sandbox Code Playgroud) 我传递一个参数param,从jsp到servlet其的值等%xyz.
当我试图通过servlet获取值时,request.getParameter("param") 我没有得到任何价值.
相反,它是空白的(甚至没有空).
可以,任何人都可以解释原因.
我正在尝试使用JSP/JSTL迭代随机生成的整数的myList(数组).生成和存储整数的代码snipet位于我的servlet中.
另一方面,遍历字符串的数组列表(参见下面的代码)可以很好地工作,但是当我使用基于相同逻辑的数组进行迭代时,我的网页只显示任何无序的随机整数列表.
谢谢你帮助我
我的Servlet
package be.intec.servlets;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import be.intecbrussel.entities.Auto;
@WebServlet("/JSTLServlet")
public class JSTLServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String VIEW = "WEB-INF/JSP/JSTL.jsp";
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
//=======below is the code using Array=====================================
int[] myList = new int[42]; …Run Code Online (Sandbox Code Playgroud) 我一直在计算机上使用eclipse开发JSP,servlet,applet,独立应用程序和其他java代码.最近,java作为其他成功的防病毒程序的一部分从我的计算机中删除.
现在,当我尝试加载eclipse时,我得到的消息是我的系统没有jre或jdk.
当我尝试下载java ee时,我只能找到这些下载选项,它们承诺提供java ee sdk.
但是,当我下载并运行安装文件时,安装程序会在整个过程中途停止,告诉我无法继续,因为我的计算机上没有找到jdk.它要求我手动指向jdk,但我不能这样做,因为我的机器上没有jdk.我能找到的唯一的jdk下载站点是这个,用于java se. 但是我需要java EE来开发jsp,servlets,applets等.
我没有找到任何解释如何整合这两者的信息.在过去,我似乎记得只能做一个java下载.
谁能告诉我如何下载java EE jdk?
在一个网络项目中,我正在创建一个学生注册计划.
我有一个.jsp文件供学生注册以便添加/删除等.
我应该如何修改我的javascript代码以检查以确保只允许String输入userName?
这是我的.jsp文件的一部分:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>New User Registration</title>
</head>
<body>
<form method="get" action="RegServlet">
<h1>Register!</h1>
Fill out information below:<p>
Username:
<input type="text" name="userName" value =""><p>
<input type="submit" value="Finish!"><p>
<script type="text/javascript">
var var1 = "userName";
if(var1 == (""))
document.write("<bSystem doesn't like an empty string.....Try Again!!!</b>");
else if(var1 == ("notmatch"))
document.write("<b>Inappropriate input!!!.....Try Again!!!</b>");
Run Code Online (Sandbox Code Playgroud)
还有一件事:
单击"完成!"时,我不断收到HTTP状态404错误.它应该引导我到我的RegServlet.java文件中指示的login.jsp文件,因为form method ="get"action ="RegServlet"应该为我做.但似乎它告诉我它找不到"/ Registrar/RegServlet"路径.我究竟做错了什么?
这是我的一个RegServlet代码:
public void doStuff(HttpServletRequest request, HttpServletResponse response) throws …Run Code Online (Sandbox Code Playgroud) 我想得到参数值,有时我不发送它们,它返回我null
,它的确定.但是当我预先检查返回字符串数组时,servlet会抛出一个java.lang.NullPointerException
而且当它为null时我无所事事.(继续流程)
String[] values = null;
if(request.getParameterValues(fieldName).length>0)
{
values = request.getParameterValues(fieldName);
if(null!=values || values.length>0) // HERE IT throws NullPointerException
{
Collections.addAll(strlist, values);
}
}
Run Code Online (Sandbox Code Playgroud) 我已经在Workspace的不同位置创建了servlet程序,之后我创建了另一个工作空间位置,我收到错误

但是当我在之前的工作空间位置运行它时,并没有出现此错误,而且我还关闭了之前的工作空间仍然收到错误.
我有两个问题,
第一:
形成
<FORM ACTION="create" METHOD="POST">
<fieldset>
<INPUT TYPE="TEXT" NAME="paraile">
<input type="submit" name="Submit" class="button" value="Gen" />
</fieldset>
</FORM>
Run Code Online (Sandbox Code Playgroud)
servlet方法doPost
String ankieta = "WEB-INF/ankieta.jsp";
int ile = Integer.parseInt(request.getParameter("paraile"));
request.setAttribute("ile", ile);
request.getRequestDispatcher(ankieta).forward(request, response);
Run Code Online (Sandbox Code Playgroud)
ankieta.jsp
<%
int a= Integer.parseInt(request.getParameter("ile"));
for (int i = 0; i < a; i++) {
%>
Number: <%=i%>
<%
}
%>
Run Code Online (Sandbox Code Playgroud)
这个简单的练习不起作用.真的,我需要循环来创建一个文本框来投票.
我的第二个问题.当我有一些动态文本框时,我需要它们在servlet中的值.我可以将它们组合到jsp文件中的字符串,然后将一个参数发送到servlet吗?
编辑: 它正在工作,但仍然是非常好的解决方案.谢谢你Luiggi!
<FORM ACTION="create" METHOD="POST">
<fieldset>
<legend>Vote</legend>
<%
String string = (String) request.getAttribute("ile");
int a= Integer.parseInt(string);
for (int i=1; i <= a; ++i) {
%>
<label>Option …Run Code Online (Sandbox Code Playgroud) 我有一个名为LoggingServlet的日志记录servlet,它覆盖了doGet和doPost方法,如下所示:
public class LoggingServlet extends HttpServlet {
private static final long serialVersionUID = 2L;
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
...do stuff here
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
...do stuff here
}
Run Code Online (Sandbox Code Playgroud)
我的web.xml看起来像这样:
<servlet>
<servlet-name>LoggingServlet</servlet-name>
<servlet-class>com.example.servlets.LoggingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoggingServlet</servlet-name>
<url-pattern>/LoggingServlet/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
这是一个实现一些JavaScript的jsp的片段:
<script>
document.getElementById("ad_div").onmousedown = function () {
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","/LoggingServlet?bookie_id=<%= request.getParameter("id") %>&app_id=<%= request.getParameter("app_id") %>",true);
xmlhttp.send();
return true;
};
</script>
Run Code Online (Sandbox Code Playgroud)
我还有另一个通过Post请求调用LoggingServlet的jsp.现在我的问题:
怎么可能?