• "log-container" style="height: 100%; overflow-y: scroll; background: #333; color: #aaa; padding: 10px;">

  • XML 地图

  • XML 地图

  • 此页面打开时发送了一个websocket请求,ws.do,会被springMVC拦截处理。连接建立之后每当收到新的消息会追加到当前文本的末尾并换行(p标签用来换行)。

  • 6)控制日志的实时打印示例:

  • PrintWriter out = response.getWriter();

  • MyWebSocketHandler.broadcast(new TextMessage(new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create().toJson("访问test接口")));

  • out.println("访问test接口");

  • 每次返回给前端某些值的时候通过一个广播将该值传送到web页面。如果不想广播,只需要在程序中对log的session进行特别的标签,然后定向传送即可。

  • 效果示意图:浏览器输入localhost:8080/projectName/log.html,然后访问localhost:8080/projectName/test,每次访问test接口,网页上实时显示tomcat输出的日志。

  • 4.备注:

  • 需要完整代码留邮箱,看到就发送,发送的工程是一个基本的web工程,只集成spring websocket,本文的所有效果和引用都有。或者发邮件到smile326@qq.com提醒我。

  • 本例中为方便消息的处理用到如下两个实体类(我也是沿用了别人教程代码):

  • Message.java:

  • public class Message {

  • //发送者

  • public Long from;

  • //发送者名称

  • public String fromName;

  • //接收者

  • public Long to;

  • //发送的文本

  • public String text;

  • //发送日期

  • public Date date;

  • public Long getFrom() {

  • return from;

  • }

  • public void setFrom(Long from) {

  • this.from = from;

  • }

  • public Long getTo() {

  • return to;

  • }

  • public void setTo(Long to) {

  • this.to = to;

  • }

  • public String getText() {

  • return text;

  • }

  • public void setText(String text) {

  • this.text = text;

  • }

  • public String getFromName() {

  • return fromName;

  • }

  • public void setFromName(String fromName) {

  • this.fromName = fromName;

  • }

  • public Date getDate() {

  • return date;

  • }

  • public void setDate(Date date) {

  • this.date = date;

  • }

  • user.java:

  • public class User {

  • private Long id;

  • private String name;

  • private String password;

  • public Long getId() {

  • return id;

  • }

  • public void setId(Long id) {

  • this.id = id;

  • }

  • public String getName() {

  • return name;

  • }

  • public void setName(String name) {

  • this.name = name;

  • }

  • public String getPassword() {

  • return password;

  • }

  • public void setPassword(String password) {

  • this.password = password;

  • }

  • }

  • 应大家需求,完成工程的代码放在了github上面啦!传上去的代码进一步完善了一下,把建立连接的时候上传参数的问题处理了一下;把存放session的容器换成了线程安全型的!欢迎大家在线讨论!

  • https://github.com/smile326/springWebsockeForTomcatLog


  • 提交成功!非常感谢您的反馈,我们会继续努力做到更好!

    这条文档是否有帮助解决问题?

    非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

    在文档使用中是否遇到以下问题:
    XML 地图