想使用vux2.x,webpack.base.conf.js文件应该怎么配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想使用vux2.x,webpack.base.conf.js文件应该怎么配置相关的知识,希望对你有一定的参考价值。
参考技术A 使用vux2.x,webpack.base.conf.js文件应该这样配置var proxyMiddleware = require('http-proxy-middleware')
var webpackConfig = process.env.NODE_ENV === 'testing' ?
require('./webpack.prod.conf') :
require('./webpack.dev.conf')
// default port where dev server listens for incoming traffic
var port = process.env.PORT || config.dev.port
// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware
var proxyTable =
'/api':
target: 'http://xxx.com',
pathRewrite:
'^/api': '/api',
本回答被提问者采纳
我想使用 servlet 创建登录页面
【中文标题】我想使用 servlet 创建登录页面【英文标题】:I want to create a login page using servlets 【发布时间】:2011-03-26 07:07:48 【问题描述】:我想使用 Servlet 和 JSP 创建一个登录页面。
我创建了一个获取用户名和密码的页面。
我用一个包含用户名和密码的表创建了一个数据库。
<form action="LoginPage" method="POST">
User name: <input type="text" name="userName" size="20"><br>
Password: <input type="password" name="password" size="20">
<br><br>
<input type="submit" value="Submit">
</form>
我在 doPost() 中输入了以下代码
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName").toString();
String passWord = request.getParameter("password").toString();
Connection con = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "userdb";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String password = "1234";
try
Class.forName(driver).newInstance();
Connection conn = DriverManager.getConnection(url+dbName, user, password);
PreparedStatement pstmt;
String sql = "SELECT USR_NAME FROM LOGIN WHERE USR_NAME='userName'";
pstmt = conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
String usr = null;
String pass = null;
while(rs.next())
pass = rs.getString(3);
if(pass != null && pass.equals(passWord))
out.println("<html>");
out.println("<head>");
out.println("<title>Login Sucessfull</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Login Sucessfull " + request.getContextPath () + "</h1>");
out.println("<p>Welcome</p> " + userName);
out.println("</body>");
out.println("</html>");
out.close();
catch (Exception e)
out.println("<html>");
out.println("<head>");
out.println("<title>Login is not Sucessfull</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Login is not Sucessfull " + request.getContextPath () + "</h1>");
out.println("<p>Wrong Username Or Password</p> ");
out.println("</body>");
out.println("</html>");
out.close();
而且我不知道如何使它工作。 有适合我的快速修复吗?
这不是一个大项目,我只想要一个获取用户名和密码的登录页面 然后 servlet 将在 DB 中搜索用户名,然后检查密码。 我已经做了你们所说的改变。 但输出看起来像 尝试块错误,因为,我得到登录不成功页面。 我将代码“登录失败页面”放在 Catch 块中。
【问题讨论】:
【参考方案1】:你应该在 sql 查询中使用SELECT PASSWORD from Login
这里PASSWORD
是你的数据库表LOGIN
中包含密码的列名
【讨论】:
【参考方案2】:不清楚“如何使其工作”是什么意思。发生什么了?不会发生什么?至少我可以在您的代码中发现几个问题:
-
您在 servlet 中发出 HTML。您应该为此使用 JSP。
您正在泄漏 JDBC 资源。您需要在
finally
中关闭它们。
您没有在 SQL 字符串中设置输入的用户名(和密码)。
您没有让数据库执行比较密码的任务。将其添加到WHERE
。
您正在接受异常。有关问题原因的所有详细信息都会丢失。您应该将其重新抛出为ServletException
,或者至少记录异常类型、消息和原因。此信息很重要,因为它说明了问题的根本原因。您知道,一旦了解了根本原因,解决方案显而易见。
此外,如果您将页面更改为用户除了面对错误消息之外什么都做不了的页面,这也是糟糕的用户体验。用户必须采取额外的处理才能返回登录页面以重新输入详细信息。而是重新显示内联错误消息的同一页面。
重写你的doPost()
方法如下:
String userName = request.getParameter("userName");
String passWord = request.getParameter("password");
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/";
String dbName = "userdb";
String user = "root";
String password = "1234";
String sql = "SELECT * FROM LOGIN WHERE USR_NAME = ? AND USR_PASS = ?"; // Not sure how the password column is named, you need to check/update it. You should leave those ? there! Those are preparedstatement placeholders.
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
boolean login = false;
try
Class.forName(driver); // You don't need to call it EVERYTIME btw. Once during application's startup is more than enough.
connection = DriverManager.getConnection(url + dbName, user, password);
statement = connection.prepareStatement(sql);
statement.setString(1, userName);
statement.setString(2, password);
resultSet = statement.executeQuery();
login = resultSet.next();
catch (Exception e)
throw new ServletException("Login failed", e);
finally
if (resultSet != null) try resultSet.close(); catch (SQLException ignore)
if (statement != null) try statement.close(); catch (SQLException ignore)
if (connection != null) try connection.close(); catch (SQLException ignore)
if (login)
request.getSession().setAttribute("username", userName); // I'd prefer the User object, which you get from DAO, but ala.
response.sendRedirect("home.jsp"); // Redirect to home page.
else
request.setAttribute("message", "Unknown username/password, try again"); // This sets the $message
request.getRequestDispatcher("login.jsp").forward(request, response); // Redisplay JSP.
并将$message
添加到您的 JSP:
<form action="LoginPage" method="POST">
User name: <input type="text" name="userName" size="20"><br>
Password: <input type="password" name="password" size="20">
<br><br>
<input type="submit" value="Submit"> $message
</form>
这里有一些链接可以学习如何正确地执行 JSP/Servlet/JDBC。
Beginning and Intermediate JSP/Servlet tutorials Advanced JSP/Servlet tutorials (with JDBC) DAO tutorial - How to create a proper data layer DAO tutorial - Using in JSP/Servlet【讨论】:
【参考方案3】:request.getParameter 的 toString() 不是必需的。
您可以将查询修改为
String sql = "SELECT <PASSWORD_CLM> FROM LOGIN WHERE USR_NAME="+userName;
while(rs.next())
//read the password in pass.
if(pass !=null && pass.equals(passWord))
// Code
【讨论】:
即使使用准备好的语句,您也需要在 SQL 语句的末尾添加分号。 @Dean:这不是真的。仅当您想在一个查询中传递多个语句时才需要这样做。然后分号是语句分隔符。另请注意,是否接受取决于数据库。【参考方案4】:我发现线条有问题:
String sql = "SELECT USR_NAME FROM LOGIN WHERE USR_NAME='userName'";
pstmt = conn.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
String usr = null;
String pass = null;
应该是:
String sql = "SELECT * from LOGIN WHERE USR_NAME="+ userName+";";
还要检查登录信息的表名,因为您拥有 LOGIN
,确定不是 login
?
此外,我会避免在 servlet 中编写 HTML,而只是让它转发到另一个 JSP。现在可能只是一些简单的事情。说登录。
院长
【讨论】:
以上是关于想使用vux2.x,webpack.base.conf.js文件应该怎么配置的主要内容,如果未能解决你的问题,请参考以下文章
我想使用 Pinescript 在 Tradingview 上设置回测策略。我想使用 SMA 和 RSI 作为指标。如何编写脚本?