🤓
blog-article
  • Introduction
  • 面试题
    • 1. 输入url发生了什么
  • Personal Works
    • 1. 简单的Web图床
  • CSS动画笔记
    • 1.transition 属性
    • 2.transition 实例
  • css 笔记
    • 1. box-shadow 阴影
    • 2. columns 设置列宽和列数
    • 3. 伪元素after与before
  • html 笔记
    • 1. 不常用的h5标签杂记
  • webpack4
    • 1. 文档学习记录
    • 2. 加载CSS
    • 3. 加载less
    • 4. 加载sass
    • 5. 根据浏览器自动添加css前缀
    • 6. 图片文件处理
    • 7. 字体文件处理
    • 8. 引入jQuery
    • 9. 打包HTML文件
    • 10. 分离css插件
    • 11. babel简单使用
    • 12. 清理旧打包文件插件
    • 13. 拷贝静态资源
  • javascript
    • 1. js获取某年某月的天数
  • npm
    • 2. JSON.stringify()完整用法
    • 1. 入门篇
    • 2. 进阶篇
  • Node.js
    • 1. 使用koa-body中间件后ctx.request.body内容为空
    • 2. uni-app使用Node+Koa2接收上传的文件
  • SQL
    • 1. 查询
    • 2. 插入
    • 3. 修改
    • 4. 删除
    • 5. 期末复习
  • Git
    • 1. git add命令后出现another git process...问题
    • 2. 将文件从暂存区移除
  • vue-cli
    • 1. vue-cli(脚手架)引入vue.config.js文件后热更新失效,每次保存都会刷新页面
  • uni-app
    • 1. uni-app中不使用scroll-view组件,监听页面滑直底部事件
  • 设计模式
    • 创建型模式
    • 单例模式
    • 工厂模式
    • 抽象工厂模式
  • Spring boot
    • 1. 使用自定义参数注解获取 token 中User数据
  • IDEA
    • 1. 设置maven项目的默认配置
  • Linux
    • 1.常用命令
    • 2.常用基础命令2
    • 3.linux目录介绍
    • 4. vi编辑器使用
    • 5.用户管理
    • 6. 文件属性与权限操作
    • 7. 文件归档与解压缩
    • 8. gcc的基本用法
    • 9. gdb调试器的基本用法
    • 10. Makefile基本用法
  • shell
    • shell与crontab定时器的结合
    • 1. shell 变量与常见符号
    • 2. shell中的四则运算符
    • 3. 条件判断
    • 4. 输入输出
    • 5. 输出彩色的内容
    • 6. 流程控制
    • 7. 函数
  • Docker
  • 嵌入式系统给结构及原理
  • 学校课程笔记
    • 1. java EE 复习
    • 2. 马原复习论述题
    • 3. 嵌入式软件技术复习
    • 4. 嵌入式操作系统复习
    • 5. 马原选择题
    • 6. 马原辨析题
    • 7. 马原材料题
    • 8. 计网学习笔记
    • 9. 计网复习
      • 1. 第一章
Powered by GitBook
On this page
  • 列举三种动态网页技术,并描述其特点
  • 描述你在使用某集成开发环境,进行JSP+JavaBean+Servelet编程时,遇到的一个故障,及最终的解决办法
  • 编程题

Was this helpful?

  1. 学校课程笔记

1. java EE 复习

列举三种动态网页技术,并描述其特点

  • ASP

    • Active Server Pages 基于.Net实现的动态服务器页面

  • JSP

    • jAVA Server Page,基于Java实现的web页面模板引擎

  • Django

    • 基于Python语言实现的MVC设计模式的WEB框架

  • PHP

    • 主要应用于Web开发,服务端执行的脚本语言

描述你在使用某集成开发环境,进行JSP+JavaBean+Servelet编程时,遇到的一个故障,及最终的解决办法

使用IDEA 集成开发环境,在新建Servlet时会自动生成@WebServlet注解,避免了配置Web.xml的麻烦,但是启动项目后发现并没有起作用,原因是 @WebServlet("test")没有加 / 正确写法为WebServlet("/test)

编程题

Servlet接收表单传递过来的数据 假定给你提供了一个HTML文件,用户在表单中输入某些信息(可能含有中文),用户点提交按钮的时候,向Servlet提交。 你的Servlet的功能:对数据的合法性进行基本检验,如果有问题则给出错误消息。如果满足要求,则直接输出html到客户端,回显用户输入的每一项信息。要求:中文不能有乱码的情况。

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置回调字符编码和文本格式
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        PrintWriter writer=response.getWriter();

        //获取表单传递的参数
        String username=request.getParameter("username");
        String password=request.getParameter("password");

        //数据校验
        if(username==null||username.equals("")){
            writer.println("用户名不能为空");
            return;
        }
        if (password.length()<6||password.length()>12){
            writer.println("密码长度不符合要求");
            return;
        }

        //成功回调
        writer.println("账号:"+username);
        writer.println("密码:"+password);

    }
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>欢迎</title>
</head>
<body>
    <%
        DateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date now =new Date();
        String nowTime=df.format(now);
        String ip=request.getRemoteAddr();
    %>

    当前日期时间是<%=nowTime %> ,欢迎你,来自 <%=ip%> 的朋友。

    <%
        response.setHeader("refresh","3;url=https://www.swpu.edu.cn/scs/");
    %>
</body>
</html>

会话处理能力 用JSP或Servlet实现登录的表单界面。当用户成功登录后,将用户名存储在Cookie中,下一次打开此页面时,用户名可以自动显示在用户名文本框内。

  • servlet

      //获取表单传递的参数
      String username=request.getParameter("username");
      String password=request.getParameter("password");
      PrintWriter writer=response.getWriter();
      //成功回调
      writer.println("账号:"+username);
      writer.println("密码:"+password);
      //存储cookie
      response.addCookie(new Cookie("username",username));
      response.addCookie(new Cookie("password",password));
  • jsp

    ```jsp <% Cookie[]cookies =request.getCookies(); String username=""; String password=""; for (Cookie k:cookies){ if(k.getName().equals("username")){ username=k.getValue(); } if(k.getName().equals("password"){ password=k.getValue(); } } %>

        用户名:
        <input type="text" name="username" value="<%=username%>" />
        密码:
        <input type="password" name="password" value="<%=password%>"/>
        <input type="submit" value="提交">

</form>

---
>Java类封装数据库访问
编写一个名为DbHelper的类,此类能连接到SQL Server数据库中指定的数据库,并提供一个checkUser的方法,接收用户名和密码,到tblUser表中,检查此用户是否存在。方法返回int类型,返回1表示用户名和密码正确,返回-1表示不能成功登录。

```java
public class DbHelper {

    private Connection connection=null;

    /**
     构造方法,尝试创建连接对象
     */
    public DbHelper() throws Exception
    {
        String sJdbcURL="jdbc:sqlserver://localhost:1433;databaseName=sugar";
        String sUser="sa";
        String sPwd="123456";
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        connection= DriverManager.getConnection(sJdbcURL,sUser,sPwd);
    }

    public int checkUser(String username,String password)
    {
        try
        {
            CallableStatement call=connection.prepareCall("{call prjCheckUser(?,?)}");
            call.setString(1,username);
            call.setString(2,password);
            ResultSet rs=call.executeQuery();
            rs.next();
            return rs.getString(1).equals("Y")?1:-1;
        }
        catch(Exception err)
        {
            return -1;
        }
    }

}
Previous学校课程笔记Next2. 马原复习论述题

Last updated 5 years ago

Was this helpful?

JSP输出基本信息创建一个Welcome.jsp,在页面上显示: 当前日期时间是2019-12-15 19:20:30, 欢迎你,来自210.41.240.254的朋友。 其中的日期时间和IP都是动态获取的,当前页面显示3秒后, 跳转到:

https://www.swpu.edu.cn/scs/