我用两个jsp文件和一个控制器构建了一个小servlet。
这是登录。jsp
:
<body>
<section class="loginform cf">
<form name="login" action="controller/login" method="get" onsubmit="return validateForm()"
accept-charset="utf-8">
<ul>
<li><label for="username">Username</label> <input type="text"
name="username" ></li>
<li><label for="password">Password</label> <input
type="password" name="password" ></li>
<li><input type="submit" value="Login"></li>
</ul>
</form>
<form action="http://localhost:8080/ToDoListProj" method="get">
<input title="Register" type="submit" value="Not Yet A Member?" formaction="register.jsp"/>
<br/>
</form>
</section>
</body>
这是控制器:
package il.ac.hit.controller;
import il.ac.hit.model.HibernateToDoListDAO;
import il.ac.hit.model.Item;
import il.ac.hit.model.ToDoListPlatformException;
import il.ac.hit.model.User;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import antlr.StringUtils;
/**
* Servlet implementation class ToDoListPlatformContrller
*/
@WebServlet("/controller/*")
public class ToDoListPlatformController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ToDoListPlatformController() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
private boolean isAlphaNumeric(String word)
{
return word.matches("[a-zA-Z0-9]+");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = request.getPathInfo();
System.out.println(path);
RequestDispatcher dispatcher = null;
switch(path)
{
case "/login":
{
try {
String username = request.getParameter("username");
String password = request.getParameter("password");
if(username != null && password != null && isAlphaNumeric(username) && isAlphaNumeric(password))
{
List<User> usersList = il.ac.hit.model.HibernateToDoListDAO.getInstance().getUsersList();
for(User user : usersList)
{
if(user.getName().equals(username) && user.getPassword().equals(password))
{
Cookie cookie = new Cookie("UserId", username);
cookie.setPath("/");
response.addCookie(cookie);
request.getSession().setAttribute("UserID", username);
request.getSession().setAttribute("table", HibernateToDoListDAO.getInstance().getItemsList(username));
dispatcher = getServletContext().getRequestDispatcher("/view.jsp");
break;
}
}
}
else
{
dispatcher = getServletContext().getRequestDispatcher("/wronglogin.jsp");
}
} catch (ToDoListPlatformException e) {
dispatcher = getServletContext().getRequestDispatcher("/wronglogin.jsp");
}
break;
}
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
当我在登录jsp页面上输入用户名和密码并点击提交时,这两个属性都显示在URL行中。
这就是我得到的:
http://localhost:8080/ToDoListProj/controller/login?username=usernamesample&password=passwordasmple
我该怎么解决?
<代码>
使用Http POST而不是GET:
在JSP中
<form name="login" action="controller/login" method="post"
在控制器中:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
// read login data from request like you do now in doGet...
您应该将method="get"
更改为method="post"
。
GET
方法将数据添加到URL中,就像您的情况一样。在处理auth. form时,不要使用get
方法。
如果我设置<code>。将ListBox的RowSource属性转换为NamedRange,然后在UserForm的VBA显示和UserForm Excel显示中都可以选择行源。然而,对于组合框,我只能在VBA显示器上看到这一点。如果在设置<代码>之后。RowSource属性我尝试我得到。 如何使用命名区域作为组合框下拉选项的来源?
我不是很好的PHP,但是下面的代码是工作之前,我改变了thr主机名。 错误 警告:mysqli_connect():(28000/1045):用户'je_user'@'ip-160-153-162-16.ip.secureserver.net'(使用密码:是)在第7行的 /home/justdb/public_html/upload_image.php访问被拒绝 注意:未定义索引:第9行 /hom
问题内容: 我使用以下代码从URL预览图像。 但是图像无法在用户界面中预览。有没有一种特殊的方法可以从Blackberry中的URL预览图像。(我是说,应将图像放入一个临时数组中以预览图像吗?)谢谢 问题答案: 试试这个 - // URLBitmapField类在下面给出-
问题内容: } “此POJO在JPA中将初始值为1001,在Hibernate中为1作为初始值”还有一个疑问,如何在此处使用注释设置增量步长在JPA中,当我使用增量策略时,它没有问题,但是增量问题 请帮助我,在此先感谢 问题答案: 我只是有同样的问题。它与hibernate的旧生成器和JPA不匹配。 您需要将此添加到您的配置中 请参阅hibernate文档:http : //docs.jboss.
我正在自己学习Oracle的JavaFX教程。在做了很多年(很久以前)之后,我对Swing的新智能功能非常着迷,包括。属性。我惊讶地发现,这些示例(例如:https://docs.oracle.com/javafx/2/ui_controls/table-view.htm)并没有以我认为“正确”的方式使用它们。 该示例创建一个类,其属性为字段: 但是getter不是用于属性,而是用于它们的值
问题内容: 我想要的是具有更改页面一部分的链接,以及它的动态URL,在这里可以指定诸如 单击此处进行精确演示 所以这是我需要的链接格式: 我必须像链接变量和这样我就可以改变一个页面上的多个万物而不realoading。 或诸如http://www.wbhomes.com.au上的另一种格式,这 正是 我想要的,但是第一种格式也不错,但这要漂亮得多。 要求 需要从任何地方访问,例如邮件,或者我只写在